gpt4 book ai didi

将数组的拼接分配给自身时,Javascript 控制台打印不起作用

转载 作者:行者123 更新时间:2023-12-02 23:58:11 26 4
gpt4 key购买 nike

当我这样做时:

var testArray  = ["a","b","c"];
console.log(testArray);
console.log("size:" + testArray.length);

我将此打印在我的控制台中:

["a", "b", "c"]
size:3

这很好。但现在当我开始用这个拼接时:

var testArray  = ["a","b","c"];
console.log(testArray);
console.log("size:" + testArray.length);
testArray = testArray.splice(0,1);

这恰好显示在我的控制台中:

["b", "c", undefined × 1]
size:3

所以第一个问题是为什么它会扰乱我的数组打印,即使拼接是在打印之后进行的?大小显示正确,但“a”消失了,最后我得到了一个未定义的值。

所以我想做的是删除数组中的第一项。基本上是换类。所以我这样做:

var testArray  = ["a","b","c"];
console.log(testArray);
console.log("size:" + testArray.length);
testArray = testArray.splice(0,1);
console.log(testArray);
console.log("size:" + testArray.length);

这就是输出的内容:

["b", "c", undefined × 1]
size:3
["a"]
size:1

不仅大小减少了 2,还删除了除“a”之外的所有内容。这是怎么回事?

最佳答案

不要将 testArray 分配给其自身。只需执行以下操作:

var testArray  = ["a","b","c"];
console.log(testArray);
console.log("size:" + testArray.length);
testArray.splice(0,1);
console.log(testArray);
console.log("size:" + testArray.length);

关于将数组的拼接分配给自身时,Javascript 控制台打印不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12321210/

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