按值(整数)用 lodash 对数组进行排序
Sort array with lodash by value (integer)
我真的很苦恼,但找不到解决方案。
我有一个数组,我想按值(所有整数)对它进行排序。
我想,好吧,让我们使用 lodash,肯定有一个方便的功能。
虽然我不知道该怎么做。
到目前为止我得到了这个:
myArray = [3, 4, 2, 9, 4, 2]
如果我使用这段代码,我会得到一个结果:
myArray = _(myArray).sort();
但不幸的是,return 值似乎不再是数组。 myArray.length排序后未定义。
我发现了数以千计的 lodash 排序数组的例子,但总是通过键。
https://lodash.com/docs#sortBy
有人可以告诉我如何获得以下 return 结果作为数组吗?:
[2, 2, 3, 4, 4, 9]
应该没有那么难,但不知为何我没有完成...
另外有时我认为 lodash 文档有点复杂。
我可能只是错过了一个重要的细节...
您可以使用 sortBy() function here. You don't have to specify a key, as it will fall back to 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 ]
所选答案是正确的,但我们也可以使用 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)
我真的很苦恼,但找不到解决方案。
我有一个数组,我想按值(所有整数)对它进行排序。 我想,好吧,让我们使用 lodash,肯定有一个方便的功能。
虽然我不知道该怎么做。
到目前为止我得到了这个:
myArray = [3, 4, 2, 9, 4, 2]
如果我使用这段代码,我会得到一个结果:
myArray = _(myArray).sort();
但不幸的是,return 值似乎不再是数组。 myArray.length排序后未定义。
我发现了数以千计的 lodash 排序数组的例子,但总是通过键。 https://lodash.com/docs#sortBy
有人可以告诉我如何获得以下 return 结果作为数组吗?:
[2, 2, 3, 4, 4, 9]
应该没有那么难,但不知为何我没有完成...
另外有时我认为 lodash 文档有点复杂。 我可能只是错过了一个重要的细节...
您可以使用 sortBy() function here. You don't have to specify a key, as it will fall back to 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 ]
所选答案是正确的,但我们也可以使用 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)