
let list=[
  {
    "year": 2021,
    "price0": 12,
    "price1": 0,
    "price2": 22
  },
  {
    "year": 2022,
    "price0": 1,
    "price1": 32,
    "price2": 121
  },
  {
    "year": 2021,
    "price0": 0,
    "price1": 0,
    "price2": 0
  },
  {
    "year": 2022,
    "price0": 24195.36,
    "price1": 76262.56,
    "price2": 0
  }
]
合并方法
function someDataMerge(arr, sameKey, mergeKey){
  var result = [];
  var temp = {};
  for (var i in arr) {
  	var key = arr[i][sameKey];
  	if (temp[key]) {
  	  temp[key][sameKey] = temp[key][sameKey];
  	  for(var j=0;j<mergeKey.length; j++){
  	  	temp[key][mergeKey[j]] = temp[key][mergeKey[j]] + arr[i][mergeKey[j]];
  	  }
  	} else {
  	  temp[key] = {};
  	  temp[key][sameKey] = arr[i][sameKey];
  	  for(var j=0;j<mergeKey.length; j++){
  	  	temp[key][mergeKey[j]] = arr[i][mergeKey[j]];
  	  }
  	}
  	//不用合并的值
  }
  for (var k in temp) {
  	result.push(temp[k])
  }
  return result;
}
调用
//哪些值需要合并 var mergeKey = ["price0", "price1", "price2"] //调用 var results = someDataMerge(list, "year", mergeKey); //说明 //list数组 //year根key合并 //mergeKey需要合并相加的key //输出结果 console.log(results) //0: {year: 2021, price0: 12, price1: 0, price2: 22} //1: {year: 2022, price0: 24196.36, price1: 76294.56, price2: 121}
js数组内根据相同key合并,里面的数组也合并(兼容ie9/ie10浏览器)
标签: js, key, 合并, 对象合并, 数组, 数组合并
上面是“js数组里的对象相同key合并,其余多个相同key值相加”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。
当前网址:https://m.ipkd.cn/webs_2319.html
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

 wordpress的移动文件夹函数介绍(move_dir)
 PapersGPT