gpt4 book ai didi

javascript - 将多个元素放入 JavaScript 数组

转载 作者:搜寻专家 更新时间:2023-11-01 04:47:35 24 4
gpt4 key购买 nike

JavaScript中,我用传统的方式填充array元素,例如:

myArray[12] = 123;
myArray[13] = 432;
myArray[14] = 233;
myArray[15] = 98;

是否可以通过一个命令更快地完成此操作?

例如将数字 [123, 432, 233, 98] 放入 myArray[12-15] ... 不知何故?不一一列举。


以及如何优化这种场景:

newArray[12] = oldArray[30];
newArray[13] = oldArray[31];
newArray[14] = oldArray[32];
newArray[15] = oldArray[33];

当一个数组中相邻的 n 个元素(上例中为 4 个)需要移动到另一个数组时?

请指教。

最佳答案

var myArray = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 
12, 13, 14, 15, 16, 17, 18, 19, 20];
myArray.splice(12, 4, 123, 432, 233, 98);

// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
// 123, 432, 233, 98, 16, 17, 18, 19, 20]

splice 的第一个参数是开始的索引,第二个是要删除的元素数,其余是要插入的元素。因此,如果您插入与删除的相同的数字,您最终会替换它们。

如果你确实希望它来自另一个数组,你可以试试这个,虽然它不是那么干净:

var oldArray = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 123,
432, 233, 98, 34, 35]
var newArray = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 16, 17, 18, 19, 20];

[].splice.apply(newArray, [12, 4].concat(oldArray.slice(30, 30 + 4)));

// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
// 123, 432, 233, 98, 16, 17, 18, 19, 20]

这可能比 PointedEars suggestion 效率低但它非常简单,可能适用于许多用例。

关于javascript - 将多个元素放入 JavaScript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11368678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com