javascript更好的方式来"重置"数组

时间:2015-06-23 07:08:14

标签: javascript arrays

是否有更快/更好的方式来重置"阵列比我目前正在做什么?

-- 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同时更改

2 个答案:

答案 0 :(得分:0)

我认为你可以这样做,但它会改变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)

答案 1 :(得分:0)

这也可行

arrayA=arrayCache.concat();
相关问题