过来看看大仙们是如何删除数组中的元素的:
原文地址:
http://ejohn.org/blog/javascript-array-remove/
作者详细的讲解了为什么要这样写,以及这些写的好处,和其它的删除方法相比它的优势是什么。所以感兴趣的读者可以仔细的看下原文。
该方法不同于网上常见的删除方法(国内搜索的结果太令人……),用原作者的话讲,该方法更加的简洁,优雅,快速,高效。
网上常见的方法如下:
1 | array = array.slice(0,i).concat( array.slice(i+1) ); |
由于上述方法开销大(两次 slice),而且效率不是十分高(concat 的速度还不够快)
所以原作者才提出了如下方法:
1 | Array.prototype.remove = function(from, to) { |
使用方法如下:
1 | // Remove the second item from the array |
如果不想扩展 Array 的 prototype 的话,也可以向下面这样写成普通函数:
1 | Array.remove = function(array, from, to) { |