gpt4 book ai didi

javascript - 当先前的数组被删除时,数组是未定义的

转载 作者:行者123 更新时间:2023-12-01 00:44:25 25 4
gpt4 key购买 nike

以下面的代码为例,splice 用于从 Array1 中恢复一个特定项目并存储在 Popped 中。然后poped被push到array2中。但是,如果我删除 popped,为什么 array2 变得未定义,即使该值已经被推送。

let Array1 = [
{id: 1, name: "APPLES"},
{id: 2, name: "ORANGE"},
{id: 3, name: "PEAR"},
{id: 4, name: "MANGO"}];
let array2 = [];

let popped = Array1.splice(0, 1)
array2.push(popped);
console.log("Array2: ", array2[0][0].name)
document.querySelector("#First").innerHTML = "First: " + array2[0][0].name;
delete popped[0]; //why when we delete popped, value is undefined ?
document.querySelector("#Second").innerHTML = "Second: " + array2[0][0].name; // undefined

最佳答案

当您将其添加到数组时,您应该复制 popped,因此它不是引用,而是添加的新数组。

array2.push([...popped]);

关于javascript - 当先前的数组被删除时,数组是未定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57507748/

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