Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript获取数组中的最大N个数字_Javascript_Node.js_Lodash - Fatal编程技术网

使用Javascript获取数组中的最大N个数字

使用Javascript获取数组中的最大N个数字,javascript,node.js,lodash,Javascript,Node.js,Lodash,我想知道是否有任何易于使用Javascript获得N max/min的数字 例如: 给出[3,9,8,1,2,6,8] 想要最多3个元素吗 Will return [9,8,8] 也许是这样的 var numbers = [3,9,8,1,2,6,8]. numbers.sort(function(a, b) { return a - b; }).slice(-3); // returns [8, 8, 9] 有关Array.sort的详细信息,请单击此处, 简单的方法是对数组排序

我想知道是否有任何易于使用Javascript获得N max/min的数字

例如:

给出[3,9,8,1,2,6,8]

想要最多3个元素吗

Will return [9,8,8]

也许是这样的

var numbers = [3,9,8,1,2,6,8].

numbers.sort(function(a, b) {
    return a - b;
}).slice(-3); // returns [8, 8, 9]
有关Array.sort的详细信息,请单击此处,

简单的方法是对数组排序,然后得到3个最后或第一个数字

// initial array
var a = [ 5, 2, 6, 10, 2 ];

// you need custom function because by default sort() is alphabetic 
a.sort(function(a,b) { return a - b; });

// smallest numbers
console.log(a.slice(0,3));

// biggest numbers
console.log(a.slice(-3));

你有没有想过你可以使用什么样的策略,或者你知道哪些功能是有用的?我给你一个提示:你需要的所有东西都在
数组中。prototype
。这是一种词法排序,可能最好使用“slice”。例如,在本例中,40小于5,所以应该是work@ArtemPetrosian:你怎么知道这个案例是什么?@minitech我的意思是默认排序()顺序是根据字符串Unicode代码点确定的。一个不对整个数组进行排序的解决方案怎么样?一个使用内置函数和/或lodash中的东西会更好。这会从数组中删除最小的三个数字。