从每个数组中获取 1 项并连接
Getting 1 item from each array and concating
好的,基本上我们有 2 个这样的数组
Array1=[1, 3, 5, 7]
Array2=[0, 2, 4, 6]
我想将它们合并成一个数组,例如
Array3=[0, 1, 2, 3, 4, 5, 6, 7]
有算法吗?或者像一个内置函数?
我的意思是我试过了但做不到
我没能轻易找到保留订单的。
如果你不在乎顺序那么有many, many dupes
这是一个效果很好的 reduce
注意:从位置0值最小的数组开始
const Array1 = [1, 3, 5, 7];
const Array2 = [0, 2, 4, 6];
const Array3 = Array2.reduce((acc,arr,i) => (acc.push(arr,Array1[i]),acc),[]);
console.log(Array3);
您可以在您的一个数组上使用 .flatMap()
合并两者,并使用索引从您的另一个数组中获取关联值:
const arr1 = [1, 3, 5, 7];
const arr2 = [0, 2, 4, 6];
const res = arr2.flatMap((num, i) => [num, arr1[i]]);
console.log(res);
好的,基本上我们有 2 个这样的数组
Array1=[1, 3, 5, 7]
Array2=[0, 2, 4, 6]
我想将它们合并成一个数组,例如
Array3=[0, 1, 2, 3, 4, 5, 6, 7]
有算法吗?或者像一个内置函数? 我的意思是我试过了但做不到
我没能轻易找到保留订单的。
如果你不在乎顺序那么有many, many dupes
这是一个效果很好的 reduce
注意:从位置0值最小的数组开始
const Array1 = [1, 3, 5, 7];
const Array2 = [0, 2, 4, 6];
const Array3 = Array2.reduce((acc,arr,i) => (acc.push(arr,Array1[i]),acc),[]);
console.log(Array3);
您可以在您的一个数组上使用 .flatMap()
合并两者,并使用索引从您的另一个数组中获取关联值:
const arr1 = [1, 3, 5, 7];
const arr2 = [0, 2, 4, 6];
const res = arr2.flatMap((num, i) => [num, arr1[i]]);
console.log(res);