The tests yielded the following results in the following browsers:
Array.push
- Google Chrome 6.0.472.63: 0.4 ms
- Mozilla Firefox 3.6.10: 5 ms
- Apple Safari 5.0 (7533.16): 2 ms
- Internet Explorer 8: 21.7 ms
- Internet Explorer 7: 66.7 ms
- Opera 10.62: 2.7 ms
array[array.length]
- Google Chrome 6.0.472.63: 1.2 ms
- Mozilla Firefox 3.6.10: 0.9 ms
- Apple Safari 5.0 (7533.16): 0.9 ms
- Internet Explorer 8: 10.9 ms
- Internet Explorer 7: 32.6 ms
- Opera 10.62: 1 ms
The results speak for themselves: using an index outperforms using Push in every browser with the exception of Google's own. If cross-compatibility is a big concern for you, the utilitarian approach would be to use an index wherever possible.
Source: http://www.scottlogic.com/blog/2010/10/15/javascript-array-performance.html
pushmust be measured against functions that add/create multiple array elements at once, likeconcat,split,match.