Friday, July 19, 2019

Is there a reason JavaScript developers don't use Array.push()?



I commonly see developers use an expression like the following in JavaScript:



arr = []
arr[arr.length] = "Something"
arr[arr.length] = "Another thing"



Wouldn't push be more appropriate?



arr = []
arr.push("Something")
arr.push("Another thing")

Answer



I actually asked myself the same question at the start of this year. UPDATED with new test cases http://jsperf.com/array-push-vs-unshift-vs-direct-assignment/2




It appears that push is much faster in chrome, and about equal in FF. Also direct is faster in IE9, but I would be interested to see how it performs in IE10.



I would say that most developers would assume setting the length of the array, and then using direct assignment is faster, as is the case with most programming languages. But JavaScript is different. Javascript arrays aren't really arrays, they're just key/value maps just like all other JavaScript objects. So the pre-allocation is essentially falling on deaf ears.



Personally I prefer push (:


No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...