js数组内根据相同key合并,里面的数组也合并(兼容ie9/ie10浏览器)

606 ℃

功能需求:在同一个数组内根据用户的名字合并(合并相同名字),里面的数组也跟着合并。具体代码如下:

数组合并

var resData = [{
  id:'11',
  name:'小米',
  count:1,
  logs:[{
    rules:'规则1',
    type:1
  },{
    rules:'规则2',
    type:2
  }]
},{
  id:'12',
  name:'小红',
  count:1,
  logs:[{
    rules:'规则2',
    type:2
  }]
},{
  id:'13',
  name:'小李',
  count:1,
  logs:[{
    rules:'规则3',
    type:1
  }]
},{
  id:'14',
  name:'小米',
  count:1,
  logs:[{
    rules:'规则4',
    type:1
  }]
}]

var tempArr = [];
var resultData = [];
for (var i = 0; i < resData.length; i++) {
  if (tempArr.indexOf(resData[i].name) === -1) {
    resultData.push({
      id: resData[i].id,
      name: resData[i].name,
      count: resData[i].count,
      logs: resData[i].logs
    });
    tempArr.push(resData[i].name);
  } else {
    for (var j = 0; j < resultData.length; j++) {
  	if (resultData[j].name == resData[i].name) {
	  var logs = resultData[j].logs.concat(resData[i].logs)
  	  resultData[j].logs = logs
  	  break;
  	}
    }
  }
}
console.log('resultData',resultData)

虽然写法有些麻烦,但是客户需求兼容ie9、ie10浏览器~

classList.add和classList.remove不兼容ie6/7/8/9解决方法

自定义属性data-* 不兼容ie6/7/8/9/10解决方法

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

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

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

标签: 兼容IE10, 兼容IE9, 数组合并

上面是“js数组内根据相同key合并,里面的数组也合并(兼容ie9/ie10浏览器)”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。

当前网址:https://m.ipkd.cn/webs_3585.html

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

js如何对电子邮箱进行脱敏
Content-Security-Policy(CSP)参数介绍
织梦{dede:field name='position'/}去掉主页或者不带链
网站站内优化,内链URL优化技巧
Vue Socket监听和发送事件的基本用法