在JavaScript中,向数组添加新元素的更有效方法是什么?
这是一个非常简单的问题。当向JavaScript数组的末尾添加元素时,这两种形式中的任何一种都比另一种形式具有速度优势或其他优化优势吗?或者,除了风格之外,这真的不重要吗 (1) pageData[pageData.length]=成员在JavaScript中,向数组添加新元素的更有效方法是什么?,javascript,Javascript,这是一个非常简单的问题。当向JavaScript数组的末尾添加元素时,这两种形式中的任何一种都比另一种形式具有速度优势或其他优化优势吗?或者,除了风格之外,这真的不重要吗 (1) pageData[pageData.length]=成员 (2) pageData.push(成员) 测试在以下浏览器中产生以下结果: 阵列。推送 谷歌Chrome 6.0.472.63:0.4ms Mozilla Firefox 3.6.10:5毫秒 苹果Safari 5.0(7533.16):2毫秒 Intern
(2) pageData.push(成员) 测试在以下浏览器中产生以下结果: 阵列。推送
- 谷歌Chrome 6.0.472.63:0.4ms
- Mozilla Firefox 3.6.10:5毫秒
- 苹果Safari 5.0(7533.16):2毫秒
- Internet Explorer 8:21.7毫秒
- Internet Explorer 7:66.7毫秒
- 歌剧院10.62:2.7毫秒
- 谷歌Chrome 6.0.472.63:1.2毫秒
- Mozilla Firefox 3.6.10:0.9ms
- 苹果Safari 5.0(7533.16):0.9ms
- Internet Explorer 8:10.9毫秒
- Internet Explorer 7:32.6毫秒
- 歌剧院10:62:1毫秒
来源:为什么要麻烦?无论如何,你都不会注意到这个变化,我会选择第二个。这不仅仅是关于性能,而是推送更好,看一看,我认为这个问题表述不正确。比较单推指令和长度指令是没有意义的,因为两者都需要纳秒。只有在循环中添加元素时性能才重要,在这种情况下,
push
必须与同时添加/创建多个数组元素的函数相比较,比如concat
,split
,match
,在循环中添加元素。请不要使用仅链接的答案-如果链接断开/页面移动,则您的答案将无效。不过,有趣的结果。谢谢