我需要将元素从一个JavaScript数组复制到另一个JavaScript数组。是的,我知道有关于克隆数组的大量问题,但大多数相关答案都会创建现有数组的新副本。 我已经拥有了一个我想要保留的数组的副本。我只想用另一个数组更新这些值。像这样:
//I already have this array
const oldArray = new Array(10);
//here is a new array I get from somewhere
const newArray = new Array(10).fill(3);
//I just want to copy the values, not create a new array
for(let i = 0; i < newArray.length; i++) {
oldArray[i] = newArray[i];
}
是否有一些很酷,光滑的方法,可能使用ES6语法?
答案 0 :(得分:0)
您可以使用Array#splice从头开始删除oldArray
中等于newArray
长度的项目数量,然后将newArray
中的所有项目添加到其中}:
const oldArray = new Array(10).fill(4);
const newArray = new Array(5).fill(3);
oldArray.splice(0, newArray.length, ...newArray);
console.log(oldArray);
答案 1 :(得分:0)
您可以使用Object.assign()
const arr = [1,2,3];
const values = [4,5,6];
Object.assign(arr, ...values.map((prop, index) => ({[index]:prop})));
console.log(arr);
答案 2 :(得分:0)
您可以使用Object.assign
将数组作为目标,使用数组作为源。
数组自身可枚举键的所有值都被转移到具有相同索引的目标数组。
var oldArray = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
newArray = [10, 11, 12, 13, 14];
Object.assign(oldArray, newArray);
console.log(oldArray);
&#13;
.as-console-wrapper { max-height: 100% !important; top: 0; }
&#13;