当前位置: 主页 > js >

2个数组根据相同key合并成新的数组(es5、es6两种

2021-08-25  |  来源:前端入门建站教程  |  作者:juqey高手

下面前端入门建站教程为大家介绍一下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 文章,请继续关注前端入门建站教程。

最新文章

猜你喜欢