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

时间:2014-04-30 17:35:38

标签: javascript node.js lodash

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

例如:

  

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

想要最多3个元素

Will return [9,8,8]

2 个答案:

答案 0 :(得分:2)

也许是这样的,

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的更多信息, https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

答案 1 :(得分:2)

简单的方法是对数组进行排序,然后获得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));