gpt4 book ai didi

javascript - 为什么调用 split 和 splice 会给出空数组?

转载 作者:行者123 更新时间:2023-12-03 09:33:21 24 4
gpt4 key购买 nike

在这段 JavaScript 中,为什么我没有得到 azbc

var x = "a-b-c".split('-').splice(1, 0, 'z');
alert(x.join(''));

split 返回包含abc 的数组。

不应该拼接a之后插入z并给我azbc吗?

为什么我得到一个空数组?

注意:我知道我想要的可以通过以下方式实现:

var x = "a-b-c".split('-')
x.splice(1, 0, 'z');
alert(x.join(''));

因为 splice “修改”了原始数组本身。不应该把{a,b,c}修改成{a,z,b,c}然后赋值给x吗?

明白了...下面的代码帮助我理解了。

var x = "a-b-c".split('-')
x = x.splice(1, 0, 'z');
alert(x.join(''));

最佳答案

splice返回数组中删除的项目,而不是新数组:

> x = 'a-b-c'.split('-');
["a", "b", "c"]
> x.splice(1,0,'z');
[]
> x
["a", "z", "b", "c"]
> x.splice(1,1,'x');
["z"]
> x
["a", "x", "b", "c"]

关于javascript - 为什么调用 split 和 splice 会给出空数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10845075/

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