var arr=[' A ', ' B ', ' C '];
There are two ways to delete a ' B ' in it:
1.delete method: Delete Arr[1]
This way the array length does not change, at this time arr[1] becomes undefined, but also has the advantage the index of the original array also remains unchanged, at this time to enumerate the elements of the group can be used
For (index in ARR)
document.write (' arr[' +index+ ']= ' +arr[index]);
This traversal way skips over the elements of the undefined
* This way IE4.O after the support of the
2. Array Object Splice method: Arr.splice (1,1);
This way the array length changes, but the original array index changes accordingly
The first 1 in the splice parameter is the starting index of the deletion (starting from 0), which is the second element of the array
The second 1 is to delete the number of elements, where only one element is deleted, i.e. ' B ';
Traversing an array element at this time can be used to traverse the array in a normal way, for example, because the deleted element
The array does not hold
* This method IE5.5 later support
It is worth mentioning that the splice method can be added to an array element while deleting an array element
For example Arr.splice (1,1, ' d ', ' e '), d,e two elements are added to the array arr
The resulting array becomes arr: ' A ', ' d ', ' e ', ' C '
<big> an article:</big>
JavaScript truncating an array by setting the length property of an array is the only one by one way to shorten the length of an array. If you use the delete operator to delete elements in an array, the length property of the array does not change the two deletion elements, although that element becomes undefined. The array length also changes the method.
/*
* Method: Array.remove (DX)
* Function: Deletes an array element.
* Parameter: DX Deletes the subscript of the element.
* Return: Modify the array on the original array
*/
It is commonly used to refactor arrays by traversing them.
Array.prototype.remove=function (DX)
{
if (isNaN (dx) | | Dx>this.length) {return false;}
for (Var i=0,n=0;i<this.length;i++)
{
if (THIS[I]!=THIS[DX])
{
This[n++]=this[i]
}
}
This.length-=1
}
A = [' 1 ', ' 2 ', ' 3 ', ' 4 ', ' 5 '];
Alert ("Elements:" +a+ "nlength:" +a.length);
A.remove (0); Delete the element with subscript 0
Alert ("Elements:" +a+ "nlength:" +a.length);
/*
* Method: Array.baoremove (DX)
* Function: Deletes an array element.
* Parameter: DX Deletes the subscript of the element.
* Return: Modifies the array on the original array.
*/
We can also use splice to achieve.
Array.prototype.baoremove = function (dx)
{
if (isNaN (dx) | | Dx>this.length) {return false;}
This.splice (dx,1);
}
b = [' 1 ', ' 2 ', ' 3 ', ' 4 ', ' 5 '];
Alert ("Elements:" +b+ "nlength:" +b.length);
B.baoremove (1); Delete the element with subscript 1
Alert ("Elements:" +b+ "nlength:" +b.length);