O'Reilly logo

ActionScript: The Definitive Guide by Colin Moock

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Removing Elements from an Array

You can remove elements from an array using the delete operator, by reducing the length property of an array, or using one of the built-in array methods.

Removing Elements with the delete Operator

The delete operator sets an array element to undefined, using the following syntax:

delete arrayName[index]

where arrayName is any array, and index is the number or name of the element we want to set to undefined. The name delete is misleading, frankly. It does not remove an element from the array; it merely sets the target element’s value to undefined. A delete operation, therefore, is identical to assigning the undefined value to an element. We can verify this by checking the length property of an array after deleting one of its elements:

var myList = ["a", "b", "c"];
trace(myList.length);  // Displays: 3
delete myList[2];
trace(myList.length);  // Still displays 3...the element at index 2 is undefined
                      // instead of "c", but it still exists

To truly delete elements, use splice( ) (to delete them from the middle of an array), or use shift ( ) and pop( ) (to delete them from the beginning or end of an array). Note that delete behaves differently with object properties and named elements than with numbered elements. Using delete on them permanently destroys properties and named elements, leaving no trace of them.

Removing Elements with the length Property

Earlier we used the length property to add elements to an array. We can also set the array’s length property ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required