Gibt es eine eingebaute Lodash-Funktion, um dies zu übernehmen:
var params = [
{ name: 'foo', input: 'bar' },
{ name: 'baz', input: 'zle' }
];
Und geben Sie Folgendes aus:
var output = {
foo: 'bar',
baz: 'zle'
};
Im Moment benutze ich nur Array.prototype.reduce():
function toHash(array, keyName, valueName) {
return array.reduce(function(dictionary, next) {
dictionary[next[keyName]] = next[valueName];
return dictionary;
}, {});
}
toHash(params, 'name', 'input');
Ich frage mich, ob es eine Abkürzung für Lodash gibt.

_.keyBywandelt das gesamte Array in ein Objekt um, während die Frage hauptsächlich darin besteht, ein Element von jedem Objekt im Array als Schlüssel und ein anderes Element als Wert zu haben. Wenn_.keyByverwendet, sind alle Werte Objekte.