Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
671 views
in Technique[技术] by (71.8m points)

javascript - js. splice returns removed item?

I am having problem of understanding splice and I want to have help.

Please check the jsfiddle.

http://jsfiddle.net/fantill/TbpWf/1/

value = "c, a, b"
value = value.split(',').splice(1, 1).join(',')
alert(value);

the value is supposed have return 'c, b'.

However, it returns 'a';

What is wrong with this method?

Thank you very much.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

.splice does return the removed item. However, it also manipulates the array internally. This prevents you from chaining anything to .splice; you must do two separate calls:

value = value.split(',');
value.splice(1, 1);
console.log(value.join(','));

If you do value = value.splice(...), value is overridden, and the array is lost!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...