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; };
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); } };
Auf diese Weise wird beispielsweise eine solche Funktion erstellt haben ein Array:
var emp = ['abs','dsf','sdf','fd']
Wenn wir das 'fd' löschen möchten, können wir Folgendes verwenden:
//code from http://caibaojian.com/js-splice-element.html emp.remove('fd');
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 leerZum Beispiel: arr = ['a','b','c',' d']Löschen
//删除起始下标为1,长度为1的一个值(len设置1,如果为0,则数组不变) var arr = ['a','b','c','d']; arr.splice(1,1); console.log(arr); //['a','c','d']; //删除起始下标为1,长度为2的一个值(len设置2) var arr2 = ['a','b','c','d'] arr2.splice(1,2); console.log(arr2); //['a','d']
Ersetzen
//替换起始下标为1,长度为1的一个值为‘ttt’,len设置的1 var arr = ['a','b','c','d']; arr.splice(1,1,'ttt'); console.log(arr); //['a','ttt','c','d'] var arr2 = ['a','b','c','d']; arr2.splice(1,2,'ttt'); console.log(arr2); //['a','ttt','d'] 替换起始下标为1,长度为2的两个值为‘ttt’,len设置的1
Hinzufügen---- len ist auf 0 gesetzt, Element wird hinzugefügt Wert
var arr = ['a','b','c','d']; arr.splice(1,0,'ttt'); console.log(arr); //['a','ttt','b','c','d'] 表示在下标为1处添加一项'ttt'
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 = ['a','b','c','d']; delete arr[1]; arr; //["a", undefined × 1, "c", "d"] 中间出现两个逗号,数组长度不变,有一项为undefined
Javascript-Array-Deduplizierung
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);};
// 移除数组中的第二项array.remove(1);// 移除数组中的倒数第二项array.remove(-2);// 移除数组中的第二项和第三项(从第二项开始,删除2个元素)array.remove(1,2);// 移除数组中的最后一项和倒数第二项(数组中的最后两项)array.remove(-2,-1);
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!