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两种”的全面内容,想了解更多关于 vuejs 内容,请继续关注编程基础学习网。

本文标题为:2个数组根据相同key合并成新的数组(es5、es6两种

基础教程推荐