我有一系列物品,有水果/蔬菜类型: 对于我所拥有的一种蔬菜,我希望它是数组中的第一个项目,但我不知道如何使用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>