在Javascript当中使用delete删除数组的时候会出现异常,并不会如PHP
一样将数组重新排序,而是在数组当中留下了一个空洞。当你console
这个变量的时候,会发现输出爲undefined
。
因此使用delete
直接删除数组元素对后续的程序运行可能会产生一定影响。
这里最好的方式是使用Array.splice
这个函数来操作数组的删除,但是针对大数组可能会有性能上的问题。
另外关于length
,也有需要注意的地方: 按照《Javascript 语言精粹》当中所说,length
的属性的值是这个数组最大整数属性名+1,其不一定等于数组元素的个数。
所以在使用length
属性做判断和操作的时候一定要小心。