DekGenius.com
[ Team LiB ] Previous Section Next Section

Recipe 6.4 Removing Elements

6.4.1 Problem

You want to remove an element or elements from an array and shift any remaining elements to fill the vacant indexes.

6.4.2 Solution

Use the splice( ) method to remove elements in the middle of the array. You can use pop( ) to remove the last element or shift( ) to remove the first element.

6.4.3 Discussion

You can remove elements from an array starting at a specified index using the splice( ) method. When using splice( ) to delete elements, you should pass it two parameters:

start

The index of the array from which to start deleting elements.

deleteCount

The number of elements to delete. If this value is undefined, all the elements from start to the end of the array are deleted:

myArray = ["a", "b", "c", "d"];

// Remove one element from myArray starting at index 1.
myArray.splice(1, 1);

// Display the results. The array now contains three elements: "a", "c", and "d".
for (var i = 0; i < myArray.length; i++) {
  trace(myArray[i]);
}

The splice( ) method also returns a new array containing the deleted elements. For example:

myArray = ["a", "b", "c", "d"];

// Remove two elements from myArray starting at index 0.
deletedElems = myArray.splice(0, 2);

// Display the deleted elements: "a" and "b".
for (var i = 0; i < deletedElems.length; i++) {
  trace(deletedElems [i]);
}

If deleting a single element from the beginning or end of the array, you can use the shift( ) and pop( ) methods. The shift( ) method removes the first element of the array and returns its value. The pop( ) method removes the last element of the array and returns its value.

myArray = ["a", "b", "c", "d"];

// Remove the first element and display its value.
trace(myArray.shift(  ));

// Remove the last element and display its value.
trace(myArray.pop(  ));

// Display the remaining elements. The array has two elements left: "b" and "c".
for (var i = 0; i < myArray.length; i++) {
  trace(myArray[i]);
}
    [ Team LiB ] Previous Section Next Section