Ich habe eine Sammlung wie so:Reorder Array basiert auf Bedingung lodash
var scores = [{
name: foo,
score: 34
}, {
name: bar,
score: 23
}, {
name: baz,
score: 99
}]
Ich habe auch eine Variable einen Namen enthält:
var selfName = 'bar';
Wie kann ich Partituren Sammlung so anordnen, dass das Objekt enthält, selfName ist bei Index 0. Erwartetes Ergebnis:
[{
name: bar,
score: 23
}, {
name: foo,
score: 34
}, {
name: baz,
score: 99
}]
ich weiß, dass ich es tun kann:
var isSelfName = (selfName, score) => {
var _name = selfName;
return (score) => {
return score.name === selfName;
}
};
var result = _.filter(scores, isSelfName(selfName));
result.push(_.reject(scores, isSelfName(selfName)));
result = _.flatten(result);
console.log('result:', result);
Gibt es einen besseren Weg, es zu tun?
Und ES6 Ausbreitung Operator hinzufügen, um es kurz und bündig: var result = _.concat (... temp); – jgr0
@ jgr0 danke für das Aufzeigen. Aktualisiert. – WitVault