好好爱自己!

Deleting array elements in JavaScript - delete vs splice

javascript 数组中删除元素用 array.splice(start, deleteCount);这个方法。

-----------------------------------------------------

delete will delete the object property, but will not reindex the array or update its length. This makes it appears as if it is undefined:

> myArray = ['a', 'b', 'c', 'd']
  ["a", "b", "c", "d"]
> delete myArray[0]
  true
> myArray[0]
  undefined

Note that it is not in fact set to the value undefined, rather the property is removed from the array, making it appear undefined. The Chrome dev tools make this distinction clear by printing emptywhen logging the array.

> myArray[0]
  undefined
> myArray
  [empty, "b", "c", "d"]

myArray.splice(start, deleteCount) actually removes the element, reindexes the array, and changes its length.

> myArray = ['a', 'b', 'c', 'd']
  ["a", "b", "c", "d"]
> myArray.splice(0, 2)
  ["a", "b"]
> myArray
  ["c", "d"]
posted @ 2018-03-30 19:59  立志做一个好的程序员  阅读(229)  评论(0编辑  收藏  举报

不断学习创作,与自己快乐相处