下面前端入门建站教程为大家介绍一下2个数组根据相同key合并成新的数组(es5、es6两种
因为项目需求需要兼容ie浏览器,ie不兼容es6语法,网上有很多关于es6的合并方法,但是就是很难找到es5的方法。
通用数组
var arr1 = [
	{number:1,name:'小明', age:'20'},
	{number:2, name:'小密', age:'20'},
	{number:3, name:'小米', age:'20'}
]
var arr2 = [
	{number:1, sex:'男'},
	{number:2, sex:'女'},
	{number:3, sex:'男'}
]
var arr3 = []
先介绍es6写法
arr3 = arr1.map(function(item) {
	const data = arr2.find(i => item.number == i.number);
	return {
		...item,
		...data
	};
})
console.log(arr3);
es5写法
arr2.forEach(function(o,d){
      for(var k in o){
          arr1.forEach(function(t){
              for(var key in t){
                  if(t.number == o.number){
                      t[k] = o[k];
                  }
              }
          })
      }
});
arr3 = arr1
console.log(arr3);
结果输出
(3) [{…}, {…}, {…}]
0: {number: 1, name: "小明", age: "20", sex: "男"}
1: {number: 2, name: "小密", age: "20", sex: "女"}
2: {number: 3, name: "小米", age: "20", sex: "男"}
		  上面是“2个数组根据相同key合并成新的数组(es5、es6两种”的全面内容,想了解更多关于 js 文章,请继续关注前端入门建站教程。