我真的在努力,但我找不到解决方案。
我有一个数组,我想按值(所有整数)对它进行排序。 我想,好吧,让我们使用lodash,肯定必须有一个方便的功能。
不知怎的,我无法想办法做到这一点。
到目前为止,我得到了这个:
myArray = [3, 4, 2, 9, 4, 2]
如果我使用此代码,我得到了一个结果:
myArray = _(myArray).sort();
但不幸的是,返回值似乎不再是一个数组。排序后myArray.length未定义。
我找到了成千上万的lodash排序数组的例子,但总是通过密钥。 https://lodash.com/docs#sortBy
有人可以告诉我如何将以下返回结果作为数组?:
[2, 2, 3, 4, 4, 9]
这不是那么困难,但不知怎的,我没有完成它......
有时我认为lodash文档有点复杂。 我可能只是错过了一个重要的细节......
答案 0 :(得分:60)
您可以在此处使用sortBy()功能。您不必指定密钥,因为它将回退到identity()。
var myArray = [ 3, 4, 2, 9, 4, 2 ];
_.sortBy(myArray);
// → [ 2, 2, 3, 4, 4, 9 ]
_(myArray).sortBy().take(3).value();
// → [ 2, 2, 3 ]
答案 1 :(得分:0)
选择答案是正确的,但我们也可以通过 sort()
来完成该任务const _ = require('lodash');
const myArray = [1,2,3,4,"A1","A10","A11","A12","A2","A3","A4","AZ","A5","B10", "B2", "F1", "F12", "F3",1,5,6,7,0,"a","b","a1"];
const sortFilter = _(myArray).sort().value();
console.log(sortFilter)
const sortByFilter = _(myArray).sortBy().value();
console.log(sortByFilter)