gpt4 book ai didi

JavaScript 数组连接

转载 作者:行者123 更新时间:2023-11-28 16:50:22 25 4
gpt4 key购买 nike

我有这两个数组:

    let num1 = [[1]];
const num2 = [2, [3]];

我连接这两个并创建新数组:

    const numbers = num1.concat(num2);
console.log(numbers);
// results in [[1], 2, [3]]

现在我将一个新值推送到 num1:

    num1[0].push(4);
console.log(numbers);
// results in [[1, 4], 2, [3]]

但是如果我写:

    num1[0] = [1, 4, 5];
console.log(numbers);
// results in [[1], 2, [3]]

为什么将 vale 重新分配给 num1不反射(reflect)数字数组的变化,但推送方法可以吗?

最佳答案

num1[0] 以一个对数组 [1]

的引用的值开始

numbers 复制该值,因此具有对同一数组的引用。

num1[0].push(4); 修改该数组(您有两个引用)

num1[0] = [1, 4, 5]; 修改 num1[0],替换对原始数组以及对全新数组的引用。 numbers 仍然包含对原始数组的引用。

关于JavaScript 数组连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60028634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com