数组 – 使用Lodash按值对对象数组进行排序

我试图通过’name’值对数组进行排序(使用Lodash)。我使用Lodash文档创建了下面的解决方案。但是,根本没有任何影响。任何人都可以对排序数组的正确方法有所了解吗?

Chars Array

[  
   {  
      "id":25,
      "name":"Anakin Skywalker",
      "createdAt":"2017-04-12T12:48:55.000Z",
      "updatedAt":"2017-04-12T12:48:55.000Z"
   },
   {  
      "id":1,
      "name":"Luke Skywalker",
      "createdAt":"2017-04-12T11:25:03.000Z",
      "updatedAt":"2017-04-12T11:25:03.000Z"
   }
]

功能代码

 var chars = this.state.characters;

 chars = _.orderBy(chars, 'name', 'asc'); // Use Lodash to sort array by 'name'

 this.setState({characters: chars})
最佳答案
这个方法orderBy不会改变输入数组,
你必须将结果分配给你的数组:

var chars = this.state.characters;

chars = _.orderBy(chars, ['name'],['asc']); // Use Lodash to sort array by 'name'

 this.setState({characters: chars})

转载注明原文:数组 – 使用Lodash按值对对象数组进行排序 - 代码日志