我有一系列物品,有水果/蔬菜类型: 对于我所拥有的一种蔬菜,我希望它是数组中的第一个项目,但我不知道如何使用lodash这样做. var items = [ {'type': 'fruit', 'name': 'apple'}, {'type': 'fruit', 'na
对于我所拥有的一种蔬菜,我希望它是数组中的第一个项目,但我不知道如何使用lodash这样做.
var items = [
{'type': 'fruit', 'name': 'apple'},
{'type': 'fruit', 'name': 'banana'},
{'type': 'vegetable', 'name': 'brocolli'}, // how to make this first item
{'type': 'fruit', 'name': 'cantaloupe'}
];
这是我尝试的小提琴:
https://jsfiddle.net/zg6js8af/
如何将type vegetable作为数组中的第一项,而不管其当前索引如何?
使用lodash _.sortBy.如果类型是蔬菜,它将首先排序,否则排序第二.var items = [
{type: 'fruit', name: 'apple'},
{type: 'fruit', name: 'banana'},
{type: 'vegetable', name: 'brocolli'},
{type: 'fruit', name: 'cantaloupe'}
];
var sortedItems = _.sortBy(items, function(item) {
return item.type === 'vegetable' ? 0 : 1;
});
console.log(sortedItems);
<script src="http://img.558idc.com/uploadfile/allimg/210610/2052335M8-0.jpg"></script>
