我想用 Lodash 按 'name' 值对数组进行排序。我使用了 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;
_.orderBy(chars, 'name', 'asc'); // Use Lodash to sort array by 'name'
this.setState({characters: chars})
'name', 'asc'
。 - Artémis YoungorderBy
不会改变输入数组。orderBy
会原地修改数组。 - Dem Pilafian['asc']
并不是升序排序,要实现升序排序的话,需要在orderBy
后面加上reverse()
(至少在版本 4.17.15 中)。 - Diego Ortiz