正如标题是我在群里看到的小伙伴问的问题。
有如下两个不同长度数组:
let arr1 = [1,2] let arr2 = [3,4,5]
要求合并后是这个样子:
let attr3 = [{3,1},{4,1},{5,1},{3,2},{4,2},{5,2}]
正好最近在做项目和后端对接口时有这么个需求,需要将两个数组中的每一项拼凑在一起成为一条记录,然后再将每一条记录 push 进一个新数组,再发请求。
我是怎么做的呢?我是通过两个 forEach 嵌套遍历解决了这个需求,同理上边的例子也可以这样实现。
let arr3= []; arr1.forEach((item1) => { arr2.forEach((item2) => { let obj = {}; obj.userId = item2; obj.roleId = item1; arr3.push(obj); }); }); console.log(arr3);
这样就可以实现我们需求,是不是很简单,其实就是双重循环,一层层查找,希望对大家有用,如果也解决了你的问题,请转发出去让更多小伙伴学习。