我正在尝试设置一个数组,其中的一部分重复两次。它由三篇文章组成(在articleArray[0] 到articleArray[2] 中),每篇文章都有文章中每个单词的列表(例如articleArray[1][1] 列出了该文章中的每个单词)。我想将最后一部分克隆到articleArray[1][2],但由于某种原因它不起作用?我正在使用 for 循环
for (var x=0; x < articleCount; x++) {
for (var y=0; y < articleArray[x][1].length; y++) {
articleArray[x][2] = [];
articleArray[x][2][y] = articleArray[x][1][y];
}
}
运行后,出于某种原因,articleArray[1][2] 中的每个值除了最后一个值外都是空的。为什么它不复制我的值(value)观?
最佳答案
您重复使用空数组覆盖 articleArray[x][2]
。您需要移动线路
articleArray[x][2] = [];
上一级,在内循环之外:
for (var x=0; x < articleCount; x++) {
articleArray[x][2] = [];
for (var y=0; y < articleArray[x][1].length; y++) {
articleArray[x][2][y] = articleArray[x][1][y];
}
}
请注意,这可以使用 slice
来简化克隆数组:
for (var x=0; x < articleCount; x++) {
articleArray[x][2] = articleArray[x][1].slice();
}
关于javascript - 为什么我无法在 Node 中复制数组的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36501377/