![](/img/trans.png)
[英]Why is .splice(1, 0, '.') returning an empty array? (Javascript)
[英]why calling split and splice gives empty array?
在這個JavaScript中,為什么我不能獲得azbc
?
var x = "a-b-c".split('-').splice(1, 0, 'z');
alert(x.join(''));
split
返回一個包含a
, b
和c
的數組。
不應splice
插入z
后a
,給我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"]
像Paolo說的那樣,splice修改了數組到位http://jsfiddle.net/k9tMW/
var array = "a-b-c".split('-');
array.splice(1, 0, 'z');
alert(array.join(''));
Mozilla Developer Network-Array拼接方法 - 更改數組的內容,在刪除舊元素時添加新元素。
返回 - 包含已刪除元素的數組。 如果僅刪除一個元素,則返回一個元素的數組。
var x = "a-b-c".split('-');
x.splice(1, 0, 'z');
document.write(x + "<br />");
你必須這樣做,
var x = "a-b-c".split('-');
x.splice(1, 0, 'z');
alert(x.join(''));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.