Home  >  Article  >  Web Front-end  >  How to delete an element in javascript array

How to delete an element in javascript array

藏色散人
藏色散人Original
2021-05-11 15:27:1016405browse

How to delete an element in javascript array: first define a function for the javascript array array object to find the position of the specified element in the array; then get the index of the element; and finally use the remove function to Just delete this element.

How to delete an element in javascript array

The operating environment of this article: windows7 system, javascript version 1.8.5, Dell G3 computer.

js deletes an element in the array

Deletes an element specified in the array

First of all, you can give js The array object defines a function that is used 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;
};

Then use the index to get the element, and use the js array's own inherent function to delete this Element:

The code is:

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

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

If we want to delete the 'fd' in it, You can use:

emp.remove(&#39;fd&#39;);

Delete an item of the array

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

splice has 3 parameters, it can also be used to replace/delete/add one or several values ​​in the array·

index: array starting index len: length of replacement/deletion item: The value to be replaced. If the operation is deleted, 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;]

Replacement

//code from http://caibaojian.com/js-splice-element.html
//替换起始下标为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

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;

2: delete

delete After deleting the elements in the array , the marked value will be set to undefined, and the length of the array will not 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

Update 2016-11-17: I saw an article written by John Resig, the father of jquery, on the stackoverflow high-scoring answer A code I passed:

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

Here are some actual use cases:

// 移除数组中的第二项
array.remove(1);
// 移除数组中的倒数第二项
array.remove(-2);
// 移除数组中的第二项和第三项(从第二项开始,删除2个元素)
array.remove(1,2);
// 移除数组中的最后一项和倒数第二项(数组中的最后两项)
array.remove(-2,-1);

This example is quite similar to the first one above, but it does not check the specific items of the element, but Deletion is located by the subscript position of the element in the array.

Recommended study: "javascript Advanced Tutorial"

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

Statement:
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