449 Stimmen

Wie man einen bestimmten Wert aus einem Array mit jQuery entfernt

Ich habe ein Array, das wie folgt aussieht: var y = [1, 2, 3];

Ich möchte entfernen 2 von Array y .

Wie kann ich einen bestimmten Wert aus einem Array mit jQuery entfernen? Ich habe versucht pop() aber dabei wird immer das letzte Element entfernt.

36voto

praveen d Punkte 321

Element in Array entfernen

var arr = ["jQuery", "JavaScript", "HTML", "Ajax", "Css"];
var itemtoRemove = "HTML";
arr.splice($.inArray(itemtoRemove, arr), 1);

16voto

yesnik Punkte 3035
//This prototype function allows you to remove even array from array
Array.prototype.remove = function(x) { 
    var i;
    for(i in this){
        if(this[i].toString() == x.toString()){
            this.splice(i,1)
        }
    }
}

Beispiel für die Verwendung

var arr = [1,2,[1,1], 'abc'];
arr.remove([1,1]);
console.log(arr) //[1, 2, 'abc']

var arr = [1,2,[1,1], 'abc'];
arr.remove(1);
console.log(arr) //[2, [1,1], 'abc']

var arr = [1,2,[1,1], 'abc'];
arr.remove('abc');
console.log(arr) //[1, 2, [1,1]]

Um diese Prototyp-Funktion zu verwenden, müssen Sie sie in Ihren Code einfügen. Dann können Sie sie auf ein beliebiges Array mit "Punktnotation" anwenden:

someArr.remove('elem1')

6voto

Luqman Cheema Punkte 151

Prüft zunächst, ob ein Element im Array vorhanden ist

$.inArray(id, releaseArray) > -1

obige Zeile gibt den Index des Elements zurück, wenn es im Array existiert, andernfalls wird -1 zurückgegeben

 releaseArray.splice($.inArray(id, releaseArray), 1);

Die obige Zeile entfernt dieses Element aus dem Array, wenn es gefunden wurde. Um die Logik zusammenzufassen, ist unten der erforderliche Code zum Prüfen und Entfernen des Elements aus dem Array.

  if ($.inArray(id, releaseArray) > -1) {
                releaseArray.splice($.inArray(id, releaseArray), 1);
            }
            else {
                releaseArray.push(id);
            }

5voto

AussieNick Punkte 83

Es gibt keine native Möglichkeit, dies in Javascript zu tun. Sie könnten eine Bibliothek verwenden oder eine kleine Funktion schreiben, um dies stattdessen zu tun: http://ejohn.org/blog/javascript-array-remove/

4voto

Sie können die Funktion .not wie folgt verwenden:

var arr = [ 1 , 2 , 3 , 5 , 8];
var searchValue = 2;

var newArr = $(arr).not([searchValue]).get();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X