Javascript 为什么可以';我不能在节点中复制数组的一部分吗?
我正在尝试设置一个数组,其中一个部分重复两次。它由三篇文章组成(从articleArray[0]到articleArray[2]),每个文章都有一个文章中每个单词的列表(例如articleArray[1][1]列出了该文章中的每个单词)。我想将最后一部分克隆到articleArray[1][2],但由于某种原因它无法工作?我用的是for循环Javascript 为什么可以';我不能在节点中复制数组的一部分吗?,javascript,arrays,node.js,Javascript,Arrays,Node.js,我正在尝试设置一个数组,其中一个部分重复两次。它由三篇文章组成(从articleArray[0]到articleArray[2]),每个文章都有一个文章中每个单词的列表(例如articleArray[1][1]列出了该文章中的每个单词)。我想将最后一部分克隆到articleArray[1][2],但由于某种原因它无法工作?我用的是for循环 for (var x=0; x < articleCount; x++) { for (var y=0; y < articleArra
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];
}
}
for(var x=0;x
运行之后,由于某种原因,articleArray[1][2]中的每个值都是空的,但最后一个值除外。为什么它没有复制我的值?您正在用空数组重复覆盖
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];
}
}
您正在使用空数组重复覆盖
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];
}
}
这个版本怎么样
articleArray.forEach(arr => {
arr[2] = arr[1].slice();
});
这个版本怎么样
articleArray.forEach(arr => {
arr[2] = arr[1].slice();
});
每次通过循环,您都将
articleArray[x][2]
初始化为一个新的空数组!每次通过循环,您都将articleArray[x][2]
初始化为一个新的空数组!