首页 文章

Lodash sortBy以随机顺序返回元素(未排序)

提问于
浏览
0

Lodash sortBy对我不起作用:

const _ = require('lodash');
let array = [3, 'q', 'e', 'w', 4, 'w', 1, 3, 2];
let data = _(array).sortBy(x => x);
console.log(data.value());
console.log(array.sort());

产量

[ 3, 'e', 'q', 'w', 4, 'w', 1, 2, 3 ]
[ 1, 2, 3, 3, 4, 'e', 'q', 'w', 'w' ]

.sortBy() 的输出毫无意义 . 内置 .sort() 按预期工作 . 我错过了什么?

1 回答

  • 1

    您可以将项目转换为字符串以进行比较

    let array = [{a:3}, {a:'q'}, {a:'e'}, {a:'w'}, {a:4}, {a:'w'}, {a:1}, {a:3}, {a:2}];
    let data = _(array).sortBy(x => x.a.toString());
    console.log(data);
    
    <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.10/lodash.min.js"></script>
    

相关问题