如何创建具有相同内容的新数组?



我使用一个外部库来遍历数组。它具有next()函数,用于转到下一个数组项,如果没有下一个项,则返回false。如果第一次调用next(),则返回第一项。

但这是它的工作原理-

var a = ['item1'];
a.next(); // 'item1' is returned
...
a = ['item1']; // it could be called several times
a.next(); // false is returned, but 'item1' is expected

是否有办法使a数组被next()函数视为新数组?我试图添加新的元素到a(a.push(' ')),它工作得很好,但然后我必须处理一个空数组元素。

如果是一维数组你可以这样写:

let newArray = [...oldArray];

这将创建一个新的数组。

我可以问你为什么要使用外部库来映射数组吗?

您可以使用扩展操作符创建该数组的浅拷贝。

var a = [1,2,3];
var b = [...a];
a.push(4);
console.log("a = " + a);
console.log("b = " + b);