Home > Web Front-end > JS Tutorial > body text

How to delete an element in an array in js

小云云
Release: 2018-03-10 15:49:35
Original
2340 people have browsed it

How to delete an element in an array in js. This article mainly shares with you examples of how to delete an element in an array in js.

First, you can define a function for the js array object to find the position of the specified element in the array, that is, the index. The code is:

Array.prototype.indexOf = function(val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) return i;
}
return -1;
};
Copy after login

Then use to get the index of this element , use the inherent function of the js array to delete this element:
The code is:

Array.prototype.remove = function(val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
Copy after login

In this way, such a function is constructed. For example, I have an array:

var emp = [&#39;abs&#39;,&#39;dsf&#39;,&#39;sdf&#39;,&#39;fd&#39;]
Copy after login

If we To delete 'fd', you can use:

//code from http://caibaojian.com/js-splice-element.html
emp.remove(&#39;fd&#39;);
Copy after login

An item of the deleted array

splice(index,len,[item]) Note: This method will change the original array .

splice has 3 parameters, it can also be used toreplace/delete/addone or several values ​​in the array·

index: array start index len : Replacement/deletion length item: Replacement value, if the delete operation is performed, the item will be empty

For example: arr = ['a','b','c','d']

Delete

//删除起始下标为1,长度为1的一个值(len设置1,如果为0,则数组不变)
var arr = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;];
arr.splice(1,1);
console.log(arr);  
//[&#39;a&#39;,&#39;c&#39;,&#39;d&#39;]; 

//删除起始下标为1,长度为2的一个值(len设置2)
var arr2 = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;]
arr2.splice(1,2);
console.log(arr2); 
//[&#39;a&#39;,&#39;d&#39;]
Copy after login

Replace

//替换起始下标为1,长度为1的一个值为‘ttt’,len设置的1
var arr = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;];
arr.splice(1,1,&#39;ttt&#39;);
console.log(arr);        
//[&#39;a&#39;,&#39;ttt&#39;,&#39;c&#39;,&#39;d&#39;] 

var arr2 = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;];
arr2.splice(1,2,&#39;ttt&#39;);
console.log(arr2);       
//[&#39;a&#39;,&#39;ttt&#39;,&#39;d&#39;] 替换起始下标为1,长度为2的两个值为‘ttt’,len设置的1
Copy after login

Add---- len is set to 0, item is the added value

var arr = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;];
arr.splice(1,0,&#39;ttt&#39;);
console.log(arr);        
//[&#39;a&#39;,&#39;ttt&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;] 表示在下标为1处添加一项&#39;ttt&#39;
Copy after login

2:delete Will change

var arr = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;,&#39;d&#39;];
delete arr[1];
arr;  
//["a", undefined × 1, "c", "d"] 中间出现两个逗号,数组长度不变,有一项为undefined
Copy after login

More related recommendations:

javascript array method

  1. javascript array deduplication

  2. Complete list of common javascript codes

  3. Updated 2016-11-17

: High score on stackoverflow In the answer, I saw a code written by the father of jquery John Resig in an article:

// Array Remove - By John Resig (MIT Licensed)Array.prototype.remove = function(from, to) {
  var rest = this.slice((to || from) + 1 || this.length);
  this.length = from < 0 ? this.length + from : from;
  return this.push.apply(this, rest);};
Copy after login
Here are some actual use cases:
// 移除数组中的第二项array.remove(1);// 移除数组中的倒数第二项array.remove(-2);// 移除数组中的第二项和第三项(从第二项开始,删除2个元素)array.remove(1,2);// 移除数组中的最后一项和倒数第二项(数组中的最后两项)array.remove(-2,-1);
Copy after login
This example is the same as the above The first one is quite similar, but it does not check the specific item of the element, but locates the deletion based on the subscript position of the element in the array.

Related recommendations:

5 JavaScript algorithms for deleting duplicate elements in arrays

PHP example code for deleting specified subscript elements in an array

phpHow to delete an element in an array Usage summary

The above is the detailed content of How to delete an element in an array in js. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template