Deleting an array element

By Saud Rana

Two different ways to delete an element myArray[n] from myArray are:

delete myArray[n] (faster, but leaves a gap at index n)
myArray.splice(n,1) (slower, but does not leave a gap in the array)

For example, to delete the myArray[5] element from myArray (leaving a gap), use the delete statement: delete myArray[5]. You can use myArray.hasOwnProperty(n) to check if the element myArray[n] is present in myArray. Note that setting the array element to null or to undefined is not equivalent to deleting the element, as shown in the example below:

var myArray = new Array(0,10,20,30,40);  

// myArray[5] does not exist yet
document.write(myArray[5]);                // undefined
document.write(typeof myArray[5]);         // undefined
document.write(myArray.hasOwnProperty(5)); // false

// create myArray[5] by assignment
myArray[5] = 1;                            // 1
document.write(typeof myArray[5]);         // number
document.write(myArray.hasOwnProperty(5)); // true

myArray[5] = null;                         // null
document.write(typeof myArray[5]);         // object
document.write(myArray.hasOwnProperty(5)); // true

myArray[5] = undefined;                    // undefined
document.write(typeof myArray[5]);         // undefined
document.write(myArray.hasOwnProperty(5)); // true

delete myArray[5];                            
document.write(myArray[5]);                // undefined
document.write(typeof myArray[5]);         // undefined
document.write(myArray.hasOwnProperty(5)); // false
Just like deleting an array element, you can also delete an object property. However, in JavaScript you cannot delete a variable declared with the var keyword at the time of first use.

Deleting an array element  (801 Views)