js中一个对象中遇到一个相同的key所对应的value值相加
如图:

变成:

js原生如下:
var abc=[
{typeid:1,ade:1},
{typeid:2,ade:1},
{typeid:1,ade:2},
{typeid:1,ade:2},
{typeid:2,ade:2},
] var result={}; for(i=0;i<abc.length;i++){
if(result[abc[i].typeid]){
result[abc[i].typeid]+=abc[i].ade;
}else{
result[abc[i].typeid]=abc[i].ade;
}
}
console.log(result) var keyvalue=[];
for(var key in result){
keyvalue.push({typeid:key,adelenth:result[key]})
}
console.log(keyvalue)
es6如下:
var arry= [ {key:'a',value:2}, {key:'a',value:2}, {key:'a',value:2}, {key:'b',value:8} ]
let result = {}; array.forEach(item => { if(result[item.key]){ result[item.key] += item.value; }else{ result[item.key] = item.value; } })
let s = []; for(let k in result){ s.push({key:k,value:result[k]}); }
js中一个对象中遇到一个相同的key所对应的value值相加的更多相关文章
- js取一个对象中的另一个对象
最开始的截图 原本是想取到其中的foodName 先是用一个for循环循环了下 for (var i=0;i<res.data.length;i++) { this.goodsList.res. ...
- js 从一个对象中找到属性值相等的集合
getobjs: function(objs, key, value) { var result = []; for (var i in objs) { var obj = $(objs[i]); i ...
- js为一个对象Object添加一个新的属性和值
1, var obj = {}; //或者 var obj=new Object(); var key = "name"; var value = "张三丰" ...
- 利用Python的三元表达式解决Odoo中工资条中城镇、农村保险的问题
Python中没有像C#中有三元表达式 A?B:C 但在python中可以通过 A if condition else B 的方式来达到同样的效果. 例如 : 1 if True else 0 输出 ...
- 原生JS中apply()方法的一个值得注意的用法
今天在学习vue.js的render时,遇到需要重复构造多个同类型对象的问题,在这里发现原生JS中apply()方法的一个特殊的用法: var ary = Array.apply(null, { &q ...
- 在VS中让一个JS文件智能提示另一个JS文件中的成员
“在VS中如何让一个JS文件智能提示另一个JS文件中的成员” 有时候会有这种情况:当我的一个Web页面引用了两个JS文件(假如分别叫common.js和JScript1.js),如果JScript1. ...
- Js把URL中的参数解析为一个对象
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8" /> <title&g ...
- 如何在js或者jquery中操作EL表达式的一个List集合
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 先说明此篇博客看明白了可以干嘛: 就是在js或者jquery中操作一个EL表达式的一个list集合或者复杂类型 ...
- JS中,如何判断一个被转换的数是否是NaN
var x="abc"; //isNaN()函数判断是否是NaN if (isNaN(parseInt(x))) { alert("非数字"); } else{ ...
随机推荐
- Android学习第8天
进程的概念 a) 四大组件都运行在主线程中 b) 服务是没有界面的,可理解为没有界面的Activity c) 进程的优先级 i. ...
- Python Installing Jupyter
Jupyter说明jupyter notebook是一款网页版的Python编辑器组件,便于学习Python Jupyer安装yum -y install gcc gcc-c++ kernel-dev ...
- [mstsc]解决win8 win10 平板无法被mstsc连接的问题
问题如下: https://answers.microsoft.com/zh-hans/windows/forum/windows_8-performance/win8%E6%97%A0%E6%B3% ...
- C++ bitset 用法
C++的 bitset 在 bitset 头文件中,它是一种类似数组的结构,它的每一个元素只能是0或1,每个元素仅用1bit空间. 下面是具体用法 构造函数 bitset常用构造函数有四种,如下 bi ...
- 使用Webstorm建立vue.js工程并添加vuetify组件
.. .. .. ..等待安装完 ..生成的目录结构 ..打开Webstorm的终端 ..最后出现 ..回到工程目录,右键 ..显示npm面板,点击serve运行 .. ..打开[貌似跟以前不一样了. ...
- Java入门:基础算法之二进制转换为十进制
Java有两种方法可以将二进制数转换为十进制数: 1)使用Integer类的Integer.parseInt()方法. 2)自己编写转换逻辑. 方法1:使用Integer.parseInt()实现二进 ...
- C++: sprintf浮点数精度控制;
错误的写法: char buf[100]; int num = 10; sprintf(buf, "%.2f", num); ///这种做法是不对的, 按照压栈顺序, 在压入num ...
- mtd-utils 安装
title: mkdosfs 安装 tags: linux date: 2018/12/26/ 17:08:54 --- mtd-utils安装 for 主机 在制作根文件系统中需要使用它制作jffs ...
- 深入剖析Kubernetes学习笔记:深入理解镜像(08)
一.Python 应用案例环境 [root@k8s-node1 Flask]# pwd /opt/Dockerfile/Flask [root@k8s-node1 Flask]# ll total 1 ...
- LFYZ-OJ ID: 1020 过河卒(NOIP2002)
过河卒 Proble Description 如图,A 点有一个过河卒,需要走到目标 B 点.卒行走规则:可以向下.或者向右.同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃 ...