当前位置 : 主页 > 手机开发 > 无线 >

数组 – lodash – 将对象移动到数组中的第一个位置?

来源:互联网 收集:自由互联 发布时间:2021-06-10
我有一系列物品,有水果/蔬菜类型: 对于我所拥有的一种蔬菜,我希望它是数组中的第一个项目,但我不知道如何使用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>
网友评论