猿问

如何连接javascript数组

let A = ["u23", "c35",-----so on];
let B = ["123", "234", ---- so on];

a 和 b 索引计数均为 100 且相同

预期产出C = ["u23,123", "c35,234", ---- so on]

我需要在不使用 for 循环的复杂步骤的情况下以很少的步骤实现输出。

ECMAScript 6 及更高版本也可以。


守着星空守着你
浏览 94回答 2
2回答

ABOUTYOU

您必须至少循环一次 - 没有其他选择。这是可能的解决方案之一:let A = ["u23", "c35", "d34"];let B = ["123", "234", "345"];let C = A.map((el, i) => el + "," + B[i]);console.log(C);可以通过使用标准来改进上述解决方案for-loop:let C = [];for (let i = 0; i < 1e6; i++){&nbsp; C.push(A[i] + "," + B[i]);}您可以通过修改其中一个输入数组而不是创建新数组来进一步改进它:for (let i = 0; i < 1e6; i++){&nbsp; A[i] += "," + B[i];}您可以在我在这里创建的 repl 中比较上述三个中的每一个的性能。运行几次后,您会注意到最后一种方法是最快的。这是因为在第二个示例中C创建了一个新数组,它的长度为0. 对于 every .push(),必须拉伸数组,这需要时间。在第三个示例中,您已经有了一个大小合适的数组,您只需修改它的条目。总是会占用时间的是字符串连接。您可以通过用简单的加法(作为数字)替换字符串连接来使用我的解决方案,您会发现它使操作更快。我希望它对您的问题有所帮助。

米琪卡哇伊

let newArr =[];A.forEach((el, index)=> {&nbsp; newArr.push(el);&nbsp; newArr.push(B[index]);}newArr 现在是您需要的格式。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答