Deleting array elements in JavaScript - delete vs splice

后端 未结 27 3678
予麋鹿
予麋鹿 2020-11-21 05:31

What is the difference between using the delete operator on the array element as opposed to using the Array.splice method?

For example:

myArray = [\         


        
27条回答
  •  忘了有多久
    2020-11-21 06:31

    As stated many times above, using splice() seems like a perfect fit. Documentation at Mozilla:

    The splice() method changes the content of an array by removing existing elements and/or adding new elements.

    var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
    
    myFish.splice(2, 0, 'drum'); 
    // myFish is ["angel", "clown", "drum", "mandarin", "sturgeon"]
    
    myFish.splice(2, 1); 
    // myFish is ["angel", "clown", "mandarin", "sturgeon"]
    

    Syntax

    array.splice(start)
    array.splice(start, deleteCount)
    array.splice(start, deleteCount, item1, item2, ...)
    

    Parameters

    start

    Index at which to start changing the array. If greater than the length of the array, actual starting index will be set to the length of the array. If negative, will begin that many elements from the end.

    deleteCount

    An integer indicating the number of old array elements to remove. If deleteCount is 0, no elements are removed. In this case, you should specify at least one new element. If deleteCount is greater than the number of elements left in the array starting at start, then all of the elements through the end of the array will be deleted.

    If deleteCount is omitted, deleteCount will be equal to (arr.length - start).

    item1, item2, ...

    The elements to add to the array, beginning at the start index. If you don't specify any elements, splice() will only remove elements from the array.

    Return value

    An array containing the deleted elements. If only one element is removed, an array of one element is returned. If no elements are removed, an empty array is returned.

    [...]

提交回复
热议问题