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.

655voto

Sarfraz Punkte 366217

Eine Arbeit JSFIDDLE

Sie können so vorgehen:

var y = [1, 2, 2, 3, 2]
var removeItem = 2;

y = jQuery.grep(y, function(value) {
  return value != removeItem;
});

Ergebnis:

[1, 3]

http://snipplr.com/view/14381/remove-item-from-array-with-jquery/

390voto

user113716 Punkte 309387

Mit jQuery können Sie eine einzeilige Operation wie diese durchführen:

Exemple : http://jsfiddle.net/HWKQY/

y.splice( $.inArray(removeItem, y), 1 );

Verwendet das native .splice() und jQuery's $.inArray() .

67voto

ddagsan Punkte 1648

jQuery.filter Methode nützlich ist. Diese ist verfügbar für Array Objekte.

var arr = [1, 2, 3, 4, 5, 5];

var result = arr.filter(function(elem){
   return elem != 5; 
});//result -> [1,2,3,4]

http://jsfiddle.net/emrefatih47/ar0dhvhw/

In Ecmascript 6:

let values = [1,2,3,4,5];
let evens = values.filter(v => v % 2 == 0);
alert(evens);

https://jsfiddle.net/emrefatih47/nnn3c2fo/

38voto

vatsal Punkte 3615

Sie können verwenden unterstrich.js . Das macht die Dinge wirklich einfach.

In Ihrem Fall ist der gesamte Code, den Sie schreiben müssen, -

_.without([1,2,3], 2);

und das Ergebnis wird [1,3] sein.

Es reduziert den Code, den Sie schreiben.

36voto

Aamir Afridi Punkte 6203

Nicht ein jQuery Weg, aber... Warum nicht eine einfachere Methode verwenden. Entfernen Sie 'c' aus dem folgenden Array

var a = ['a','b','c','d']
a.splice(a.indexOf('c'),1);
>["c"]
a
["a", "b", "d"]

Sie können auch Folgendes verwenden: (Notiz an mich selbst: Ändern Sie keine Objekte, die Ihnen nicht gehören )

Array.prototype.remove = function(v) { this.splice(this.indexOf(v) == -1 ? this.length : this.indexOf(v), 1); }
var a = ['a','b','c'];
a.remove('c'); //value of "a" is now ['a','b']

Hinzufügen ist einfacher a.push('c')

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