Discussion on the deletion of array elements in JavaScript

Source: Internet
Author: User
Tags array length

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);

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.