Heim > Web-Frontend > js-Tutorial > Hauptteil

So löschen Sie ein Element in einem Array in js

小云云
Freigeben: 2018-03-10 15:49:35
Original
2354 Leute haben es durchsucht

So löschen Sie ein Element in einem Array in js. In diesem Artikel erfahren Sie hauptsächlich, wie Sie ein Element in einem Array in js löschen.

Zuerst können Sie eine Funktion für das js-Array-Objekt definieren, um die Position des angegebenen Elements im Array zu ermitteln, dh den Index. Der Code lautet:

Array.prototype.indexOf = function(val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) return i;
}
return -1;
};
Nach dem Login kopieren

Dann Verwenden Sie, um diesen Elementindex abzurufen, und löschen Sie dieses Element mit der inhärenten Funktion des js-Arrays:
Der Code lautet:

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

Auf diese Weise wird beispielsweise eine solche Funktion erstellt haben ein Array:

var emp = [&#39;abs&#39;,&#39;dsf&#39;,&#39;sdf&#39;,&#39;fd&#39;]
Nach dem Login kopieren

Wenn wir das 'fd' löschen möchten, können wir Folgendes verwenden:

//code from http://caibaojian.com/js-splice-element.html
emp.remove(&#39;fd&#39;);
Nach dem Login kopieren

Ein Element des gelöschten Arrays

splice( index,len,[item]) Hinweis: Diese Methode ändert das ursprüngliche Array.

Splice hat 3 Parameter, es kann auch verwendet werden, um einen oder mehrere Werte im Array zu ersetzen/löschen/hinzufügen

Index: Array-Startindex len : Die Länge des Ersetzungs-/Löschelements: Der Wert des Ersetzungsvorgangs, wenn der Vorgang gelöscht wird, ist das Element leer

Zum Beispiel: arr = ['a','b','c',' d']

Löschen

//删除起始下标为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;]
Nach dem Login kopieren

Ersetzen

//替换起始下标为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
Nach dem Login kopieren

Hinzufügen---- len ist auf 0 gesetzt, Element wird hinzugefügt Wert

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;
Nach dem Login kopieren

2: löschen

delete Nach dem Löschen des Elements im Array wird der tiefgestellte Wert angezeigt auf undefiniert gesetzt,Die Länge des Arrays ändert sich nicht

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

Weitere verwandte Empfehlungen:
  1. Javascript-Array-Methoden
  2. Javascript-Array-Deduplizierung
  3. Umfassende Liste häufig verwendeter JavaScript-Codes

Aktualisiert 2016 -11-17 : Ich habe einen Code gesehen, der vom Vater von JQuery John Resig

auf der Stackoverflow-Highscore-Antwort geschrieben wurde:
// 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);};
Nach dem Login kopieren

Hier sind einige aktuelle Anwendungsfälle:
// 移除数组中的第二项array.remove(1);// 移除数组中的倒数第二项array.remove(-2);// 移除数组中的第二项和第三项(从第二项开始,删除2个元素)array.remove(1,2);// 移除数组中的最后一项和倒数第二项(数组中的最后两项)array.remove(-2,-1);
Nach dem Login kopieren

Dieses Beispiel ist dem ersten oben ziemlich ähnlich, überprüft jedoch nicht die spezifischen Elemente des Elements, sondern verwendet die tiefgestellte Position des Elements im Array zum Suchen und Löschen Es.

Verwandte Empfehlungen:

5 JavaScript-Algorithmen zum Löschen doppelter Elemente in Arrays

PHP-Beispielcode zum Löschen bestimmter tiefgestellter Elemente in einem Array

So löschen Sie ein Element in einem Array in der PHP-Nutzungszusammenfassung

Das obige ist der detaillierte Inhalt vonSo löschen Sie ein Element in einem Array in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage