web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

js数组里的对象相同key合并,其余多个相同key值相加

1122 ℃
           
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浏览器)

es6语法中如何实现合并数组

php如何合并数组并去除重复值(重新排序)

php如何将两个数组去重后合并

es6利用Map实现数组合并(克隆)

标签: js, key, 合并, 对象合并, 数组, 数组合并

上面是“js数组里的对象相同key合并,其余多个相同key值相加”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_2319.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > js
本文共计946个字,预计阅读时长7分钟
生活小工具,收录了80多款小工具
上一篇: 推荐一款可免费商用圆体字库——江城圆体
下一篇: 推荐一款由字制区设计团队的免费综艺字体——字制区喜脉体
x 打工人ai神器