我有理解拼接的問題,我想幫忙。js。拼接返回刪除項目?
請檢查jsfiddle。
http://jsfiddle.net/fantill/TbpWf/1/
value = "c, a, b"
value = value.split(',').splice(1, 1).join(',')
alert(value);
值應該有回報'c, b'
。
但是,它返回'a'
;
這種方法有什麼問題?
非常感謝。
我有理解拼接的問題,我想幫忙。js。拼接返回刪除項目?
請檢查jsfiddle。
http://jsfiddle.net/fantill/TbpWf/1/
value = "c, a, b"
value = value.split(',').splice(1, 1).join(',')
alert(value);
值應該有回報'c, b'
。
但是,它返回'a'
;
這種方法有什麼問題?
非常感謝。
.splice
確實返回刪除的項目。但是,它也在內部操作數組。這可以防止你鏈接到.splice
;你必須做兩個單獨的呼叫:
value = value.split(',');
value.splice(1, 1);
console.log(value.join(','));
如果你這樣做value = value.splice(...)
,value
被覆蓋,並且陣列丟失!
非常感謝你!!!!! – Till 2013-02-26 06:18:17
.splice
是原地的,所以只是刪除value =
,它會修改數組像你期望:
> var value = "c, a, b";
> value = value.split(', ');
["c", "a", "b"]
> value.splice(1, 1);
["a"]
> value
["c", "b"]
非常感謝你! – Till 2013-02-26 06:17:51
var a = ["1","2","3"]
a.splice(1,1) && a
a=["1","3"]
雖然這可能會回答這個問題,但一些意見和/或解釋會很好。這也會幫助其他用戶。 – VDWWD 2017-07-02 14:32:51
我不知道你在問什麼。是的,'splice'返回刪除的項目,輸出應該是'a',因爲這是你刪除的內容。問題在哪裏? – melpomene 2013-02-26 06:15:29