javascript更好的方式&;重置”;数组

javascript better way to "reset" an array

本文关键字:重置 数组 更好 方式 javascript      更新时间:2023-09-26

有没有比我目前所做的更快/更好的方法来"重置"数组?

-- populate arrayA and arrayCache using for loop
-- shuffle arrayA
/* empty arrayA */
arrayA = [];  -
/* THIS IS THE IMPORTANT PART, reset the array (load values from arrayCache into arrayA) */
for(i = 0; i < arrayCache.length; i++)
{
  arrayA.push(arrayCache[i]);
}

我填充(使用循环)2个数组(arrayA和arrayCache),然后迭代并混洗(如果条件满足)第一个arrayA,然后我需要将其重置为原始状态。

注意-如果我只是简单地执行arrayA=arrayCache,那么arrayCache将与arrayA

同时更改

我认为你可以,但它会更改arrayA 引用的数组

-- populate arrayA and arrayCache using for loop
-- shuffle arrayA
/* empty arrayA */
arrayA = [];  -
/* THIS IS THE IMPORTANT PART, reset the array (load values from arrayCache into arrayA) */
arrayA = arrayCache.slice(0)

如果你想修改arrayA引用的原始数组,那么

arrayA.push.apply(arrayA, arrayCache)

这也适用于

arrayA=arrayCache.concat();