Javascript “shift” versus “splice” - are these statements equal?

二次信任 提交于 2019-12-09 08:32:06

问题


I just want to confirm if the following two Javascript statements produces the same results, as it seems to me:

First:

var element = my_array.splice(0,1)[0];

Second:

var element = my_array.shift();

I want to substitute the first by the second, in my own code, to improve readability. Can I do this?


回答1:


They will have the same effect, yes. splice(0, 1) will remove the first element from my_array and return a new array containing that element. shift will do the same, but return the element itself, not an array.

shift is more readable (in my opinion) and is also significantly faster (in Chrome at least):




回答2:


Both lines of code remove the first element from the array, and return the removed element, they are both supported in all major browsers.

You should use the second one, and the code will be more readable indeed.




回答3:


shift returns the element that was removed, splice returns an array of elements that were removed.

that being said, the two statements do the same thing and i would agree that the second is more readable.



来源:https://stackoverflow.com/questions/10742369/javascript-shift-versus-splice-are-these-statements-equal

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!