Ich habe meine eigene Version von dem, was ich brauche, neu implementiert, aber ich vermute, dass dies bereits im Unterstrich enthalten ist, da es so einfach und so eng mit vielen anderen Funktionen verbunden ist. Aber ich kann mir nicht vorstellen, wie es heißen soll.Was ist das Objekt entspricht _pluck
Grundsätzlich, was ich will, ist eine Version von _.pluck, die mit Objekten arbeitet und ein Objekt anstelle eines Arrays (mit den zugehörigen Schlüsseln) zurückgibt.
So zum Beispiel, wenn ich ein Objekt wie dieses hatte:
elements: {
steam: {
temperature: 100,
color: 'orange',
state: 'gas'
},
water: {
temperature: 50,
color: 'blue',
state: 'liquid'
},
ice: {
temperature: 0,
color: 'white',
state: 'solid'
}
}
Ich möchte würde _.something(elements, 'temperature')
rufen und haben es zurückgeben
{
steam: 100,
water: 50,
ice: 0
}
Statt _.pluck(elements, 'temperature')
die liefert
[100, 50, 0]
Wie heißt diese Umwandlung und ist sie bereits im Unterstrich enthalten? Ich habe selbst eine schnelle Version mit jQuery's jeder Schleife geschrieben, da ich mit jQuery besser vertraut bin als Unterstreichung (unten eingeschlossen), aber wenn möglich lieber einen aus der Bibliothek verwenden würde.
$.objPluck = function(obj, key) {
var ret = {};
$.each(obj, function(k, value) {
ret[k] = value[key];
});
return ret;
}
Es gibt die 'Array.map' [Methode] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map), was Sie im Grunde tun , aber mit einem Objekt – Ian
Gibt es eine Möglichkeit, 'Array.map' Keys zu erhalten? –
Ich bin mir nicht sicher, ob ich verstehe, was du meinst. Und ich habe mich nur auf Ihre anfängliche Sorge bezogen: "Aber ich kann mir nicht vorstellen, wie es heißen soll". Mit Arrays würde ich das "Mapping" nennen – Ian