开发者社区> 问答> 正文

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

我正在尝试按“名称”值对数组进行排序(使用Lodash)。我使用Lodash文档在下面创建了解决方案,但是.orderBy似乎根本没有任何影响。任何人都可以阐明对数组进行排序的正确方法吗?

字符数组

[
{
"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}) 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 20:25:18 856 0
1 条回答
写回答
取消 提交回答
  • 此方法orderBy不会更改输入数组,您必须将结果分配给数组:

    var chars = this.state.characters;

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

    this.setState({characters: chars})

    2020-02-08 20:25:29
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载