Wir haben eine Reihe von Objekten als solche
var myArr = [ {name: "john", age:23}
{name: "john", age:43}
{name: "jim", age:101}
{name: "bob", age:67} ];
wie erhalte ich die Liste der Objekte von myArr, bei denen der Name john mit lodash lautet?
Lodash hat eine "Map" -Funktion, die wie jQuerys funktioniert:
var myArr = [{ name: "john", age:23 },
{ name: "john", age:43 },
{ name: "jimi", age:10 },
{ name: "bobi", age:67 }];
var johns = _.map(myArr, function(o) {
if (o.name == "john") return o;
});
// Remove undefines from the array
johns = _.without(johns, undefined)
Verwenden Sie die lodash _.filter
Methode:
_.filter(collection, [predicate=_.identity])
Iteriert über Elemente der Sammlung und gibt ein Array aller Elemente zurück, für das das Prädikat wahr ist. Das Prädikat wird mit drei Argumenten aufgerufen: (Value, index | key, collection).
mit Prädikat als benutzerdefinierte Funktion
_.filter(myArr, function(o) {
return o.name == 'john';
});
mit Prädikat als Teil eines gefilterten Objekts (die _.matches
-Iterate-Abkürzung)
_.filter(myArr, {name: 'john'});
mit Prädikat als [Schlüssel, Wert] -Array (die _.matchesProperty
-Iterate-Abkürzung.)
_.filter(myArr, ['name', 'John']);
let myArr = [
{name: "john", age:23},
{name: "john", age:43},
{name: "jim", age:101},
{name: "bob", age:67},
];
// this will return old object (myArr) with items named 'john'
let list = _.filter(myArr, item => item.name === 'jhon');
// this will return new object referenc (new Object) with items named 'john'
let list = _.map(myArr, item => item.name === 'jhon').filter(item => item.name);
lodash hat auch eine entfernungsmethode
var myArr = [ {name: "john", age:23}
{name: "john", age:43}
{name: "jim", age:101}
{name: "bob", age:67} ];
var onlyJohn = myArr.remove( person => { return person.name == "john" })
const myArr = [ {name: "john", age:23},
{name: "john", age:43},
{name: "jim", age:101},
{name: "bob", age:67} ];
const johnArr = _.filter(myArr, person => person.name === 'john');
console.log(johnArr)
const myArr = [ {name: "john", age:23},
{name: "john", age:43},
{name: "jim", age:101},
{name: "bob", age:67} ];
const johnArr = myArr.filter(person => person.name === 'john');
console.log(johnArr);
** Filtern nach Name, Alter ** Sie können auch die Kartenfunktion verwenden
Unterschied zwischen Karte und Filter
1. map - Die map () - Methode erstellt ein neues Array mit den Ergebnissen des Aufrufs einer Funktion für jedes Array-Element. Mit der Kartenmethode können Elemente in einem Array gemäß den Präferenzen des Benutzers bearbeitet werden, um die Schlussfolgerung der ausgewählten Manipulation in einem völlig neuen Array zurückzugeben. Betrachten Sie zum Beispiel das folgende Array:
2. filter - Die filter () - Methode erstellt ein Array, das mit allen Arrayelementen gefüllt ist, die einen von der bereitgestellten Funktion durchgeführten Test bestehen. Die Filtermethode eignet sich gut für bestimmte Fälle, in denen der Benutzer bestimmte Elemente in einem Array identifizieren muss, die ein gemeinsames Merkmal aufweisen. Betrachten Sie zum Beispiel das folgende Array:
`const users = [
{name: "john", age:23},
{name: "john", age:43},
{name: "jim", age:101},
{name: "bob", age:67}
];
const user = _.filter(users, {name : 'jim', age: 101});
console.log(user);`
let myArr = [
{name: "john", age:23},
{name: "john", age:43},
{name: "jim", age:101},
{name: "bob", age:67},
];
let list = _.filter(myArr, item => item.name === "john");