如何使用其他数组的内容制作新数组或数组?

Posted

技术标签:

【中文标题】如何使用其他数组的内容制作新数组或数组?【英文标题】:How to make new array or arrays with contents from other arrays? 【发布时间】:2020-03-11 10:16:53 【问题描述】:

第一个数组:

const arr1 = [[1, 2, 3, 4], [5, 6, 7, 8]];

第二个数组:

const arr2 = [['some1', 'some2'], ['some3', 'some4']];

想要的数组:

const finalArr = [[1, 2, 3, 4], ['some1', 'some2'], ['some3', 'some4']];

所以,基本上finalArr 应该有arr1 的第一个索引数组和arr2rest

如何做到这一点?

【问题讨论】:

const finalArr = [arr1[0], ...arr2] 这应该是诀窍。 我只能为自己说话,对我来说,原因是问题缺乏——什么已经尝试过,什么没用。 你可以阅读this 【参考方案1】:

如果您不关心销毁arr2,也不关心拥有arr1[0] 的深层副本,那么简单的unshift() 就可以做到:

const arr1 = [[1, 2, 3, 4], [5, 6, 7, 8]];
const arr2 = [['some1', 'some2'], ['some3', 'some4']];

arr2.unshift(arr1[0]);
console.log(JSON.stringify(arr2));

当然,这些确实是一些可能不适合您的情况。

【讨论】:

【参考方案2】:

使用 ES6 扩展运算符如下。

const arr1 = [[1, 2, 3, 4], [5, 6, 7, 8]];

const arr2 = [['some1', 'some2'], ['some3', 'some4']];

const finalArr = [arr1[0], ...arr2];

console.log(finalArr);

或者使用 concat 函数。

const arr1 = [[1, 2, 3, 4], [5, 6, 7, 8]];
const arr2 = [['some1', 'some2'], ['some3', 'some4']];
const finalArr = [arr1[0]].concat(arr2);

console.log(finalArr);

【讨论】:

【参考方案3】:
const arr1 = [[1, 2, 3, 4], [5, 6, 7, 8]];

const arr2 = [['some1', 'some2'], ['some3', 'some4']];
cont finalArr = Array();
finalArr.push(arr1[0]);
finalArr.push(arr2[0]);
finalArr.push(arr2[1]);

您还可以遍历数组并动态推送它们。

【讨论】:

以上是关于如何使用其他数组的内容制作新数组或数组?的主要内容,如果未能解决你的问题,请参考以下文章

使用扩展运算符克隆带有数组的对象

如何在javascript中从数组制作二叉树?

Hive或SQL 建立数组(高级查询)

如何显示字节数组十六进制值?

dart - 如何制作新数组嵌套排序映射

将数组作为url参数传递并重定向到新页面