我想创建一个数组的多个副本,副本最多只能有5个。我一直在尝试这样做。
let numbers = [1, 2, 3];
let numbersCopy = [];
for (i = 0; i < 5; i++) {
numbersCopy[i] = numbers;
}
console.log(numbersCopy);
但是我得到了循环对象引用。我该如何解决这个问题?
最佳答案
这听起来像:“我想要一个新数组,它最多复制旧数组的前五个元素”。对应的函数是 slice()
。
const oldArray = [0,1,2,3,4,5,6];
const newArray = oldArray.slice(0,5); // [0,1,2,3,4]
您可以使用切片以这些方式创建副本:
oldArray.slice()
= [0, 1, 2, 3, 4, 5] = 制作副本,相同的 a =[...oldArray]oldArray.slice(-2)
= [5,6] = 数组的最后两项。oldArray.slice(0,5)
= [0, 1, 2, 3, 4] = 前五项oldArray.slice(5)
= 取前五个之后的其余部分 = [5,6]oldArray.slice(2,3)
= 取项目 2 和 3 = [2,3]
继续破解 JavaScript!
关于javascript - 在javascript中创建数组的多个副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56352266/