我有一个Numbers数组,我正在使用该.push()方法向其中添加元素.
有没有一种简单的方法从数组中删除特定元素?相当于像array.remove(number);.
我必须使用核心的JavaScript - 无框架是不允许的.
我有一个有很多行的表(如10.000).
(注意:我意识到有一个很大的表是没有意义的,但我想了解下面的行为).
当我收到新数据时,我想先清除行.奇怪的是,清除表格比从头开始构建行需要更长的时间.使用html("")或普通JS 清除表行innerHTML = ""需要1.5分钟,远远超过构建行本身,这需要不到一秒钟.
所以我的问题是:
- 为什么删除元素比添加它们需要更多时间?"幕后"会发生什么?
(请注意我的问题是为什么一个,我不是在寻找可能的解决方法).
更新:
我注意到表行和单元格已经应用了浮动定义,当我删除浮动时,表格在实例中被清空.
我仍然非常想理解为什么 float会使行的删除速度变慢.
这里有一个小提琴:https://jsfiddle.net/maaikeb/t5pduuue/
在Chrome中,清空表需要25秒,只需23 毫秒即可将其附加到DOM.
*我阅读了以下帖子,但他们更多地讨论了可能的解决方案,而不是为什么删除元素比添加元素需要更多时间,删除它们时实际发生的情况
jQuery空是非常慢
jQuery空的很慢
是什么是用jQuery删除表行的最佳方法?
在javascript jquery中删除表行
- 从非常大的表中删除所有行的最快方法
进行DOM插入的最佳做法是什么?