löschen Sie unerwünschte Eigenschaften aus der javascript-Objekt
Ich habe ein java-script Objekt, wie unten mit mehreren Feldern und arrays und arrays in arrays. Ich bin nur daran interessiert sind nur in nicht-junk-Felder und wollte Sie entfernen alle junk-Eigenschaften von den Objekten. Wie kann ich das machen, dass die Verwendung von lodash. Ich kann das tun, indem Sie 'löschen', aber ich will nicht zu tun, weil, die Liste ist tatsächlich so riesig und ich will nicht ändern mein code zu schreiben, zu löschen jedes mal, wenn eine neue junk-Eigenschaft Hinzugefügt habe um mein Objekt.
{
state: 'New York',
country: 'usa',
counties : [['washington','DC'],'Long Island',['New','Jersey']],
city : 'Manhattan',
zip: '43543545',
JunkOne : ['3453454','45345','45345'],
JunkTwo: '5454545',
JunkThree: {adc:'4545',vdfd:'45345'}
}
entweder der operator delete für das löschen von bestimmten Eigenschaften oder Objekt verwenden.weisen Sie auf bestimmte Eigenschaften
verwenden Sie eine whitelist anstatt einer Blacklist; loop Requisiten, check-Taste, löschen Sie, wenn nötig.
verwenden Sie eine whitelist anstatt einer Blacklist; loop Requisiten, check-Taste, löschen Sie, wenn nötig.
InformationsquelleAutor Ajay Srikanth | 2017-03-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
lodash.pick()
um ein Objekt zu erstellen mit nur den angeforderten Schlüssel. Zum Beispiel:Stadt jetzt sollten alle nützlichen Daten, und keines der junk.
InformationsquelleAutor Nicolas Budig
entweder der operator delete für das löschen von bestimmten Eigenschaften
oder Objekt verwenden.weisen Sie auf bestimmte Eigenschaften
EDIT:
Tut es lodash Weg wäre
oder
Gut, ich habe nicht getan, ein bench-marking genau, aber es völlig abhängig von zwei Faktoren : 1. Wie viele Attribute Sie haben zu löschen oder zu bewahren. 2. Wie nah lodash die Umsetzung ist die Vanille javascript. Sie könnten Recht in allen Fällen oder vielleicht auch nur in einigen Fällen, wenn es kommt zu ersten Punkt. Ich bin nicht sicher, ob...
InformationsquelleAutor binariedMe
Können Sie
_.pick
ein neues Objekt zu erstellen mit nur ein bestimmter Satz von Eigenschaften, die von Ihrem ursprünglichen Objekt:InformationsquelleAutor apsillers
UPDATE
@aspillers Antwort ist die gleiche wie meine, aber waaay kürzer/besser. Gehen Sie mit diesem.
Kein lodash benötigt, geradeaus bis ES 5.
InformationsquelleAutor Jared Smith
Wenn Sie einige Möglichkeiten was zu Holen, lodash
_.pickBy
ist wirklich nett.Zum Beispiel:
Wenn die Funktion truthy, die Schlüssel/Wert-paar ausgewählt wird, die aus dem Objekt.
InformationsquelleAutor Derek