2017-01-02 5 views
-1

Lets suppose wir eine Reihe von Objekten wie diese:ein Array von Objekten auswählen, wenn Bedingung nicht null ist

var people = [ 
    {first: "John", last: "Doe"}, 
    {first: "Alan", last: "Doe"}, 
    {first: "John", last: "Black"} 
]; 

Wie wir dieses Array in jQuery, wenn nur eine Bedingung, die durch den Benutzer ausgewählt wird filtern, für Beispiel er will nur die Doe Nachnamen (mit einem Auswahlformular mit zwei Feldern: Vorname, Nachname), daher ist der Vorname nicht ausgewählt.

Vielen Dank im Voraus.

+0

http://api.jquery.com/filter/ –

+0

https://jsfiddle.net/aghosh08/bl8bxk02/ –

+0

Es gibt ein Problem. Wie in der Frage vorgeschlagen, gibt es eine Formularauswahl mit zwei Feldern - Vorname, Nachname. Die Auswahl wird als ein Array von zwei Elementen analysiert. Wenn nur ein Feld ausgewählt ist (z. B. der Nachname), wird das andere Feld als Null übergeben. Wie sieht die Filterung aus, wenn ein Feld null ist oder nicht? – BillCode

Antwort

2

Wie vorgeschlagene Verwendung .filter() tun würde, um das Array zu filtern:

var people = [ 
 
    {first: "John", last: "Doe"}, 
 
    {first: "Alan", last: "Doe"}, 
 
    {first: "John", last: "Black"} 
 
]; 
 

 
var filteredPeople = people.filter(function(person){ 
 
    return person.last === 'Doe' 
 
}); 
 

 
console.log(JSON.stringify(filteredPeople, 4, 0));

+0

Es gibt ein Problem. Wie in der Frage vorgeschlagen, gibt es eine Formularauswahl mit zwei Feldern - Vorname, Nachname. Die Auswahl wird als ein Array von zwei Elementen analysiert. Wenn nur ein Feld ausgewählt ist (z. B. der Nachname), wird das andere Feld als Null übergeben. Wie sieht die Filterung aus, wenn ein Feld null ist oder nicht? – BillCode