数组如下:
var arr = [1,5,3,2,10,15]
如何得到3个或N个最大值得数组
arr2 = [5,10,15]
let largest = (arr, n) => arr.sort((a,b) => a < b).slice(0, n);
let arr = [1,5,3,2,10,15];
console.log(largest(arr, 3));
试试这个,可以获取最大最小,并且可以自定义
function minOrMaxsInArray(array, length, compare) {
let result = {};
if (array == null || !(array instanceof Array)) {
return result;
}
// 默认长度为数组的长度
length = length || array.length;
// 数组比较方法
compare = compare || function (a, b) {
return a - b;
};
// 进行排序
array.sort(compare);
result = {
1: array.slice(0, length),
2: array.reverse().slice(0, length)
};
return function (type) {
return result[type] || [];
}
}
获取普通数组最大 || 最小集合:
let arr = [1, 5, 3, 2, 10, 15];
console.log(minOrMaxsInArray(arr, 4)(1));
console.log(minOrMaxsInArray(arr, 4)(2));
获取对象数组的最大 || 最小集合
let arr2 = [{id: 1}, {id: 3}, {id: 4}, {id: 9}, {id: 12}, {id: 199}];
console.log(minOrMaxsInArray(arr2, 4, (a, b) => (a.id - b.id))(1));
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决