按最大值获取数组索引
Get array index by Max value?
我找到了一些获得索引最大值的解决方案,但当我有这样的数组时,如何获得最大值:
myArray = [];
myArray[1] = 10;
myArray[2] = 99;
alert(Math.max(myArray));
我想得到最大值的索引。在这种情况下,它将是值为99的索引2。
我现在得到的结果是NaN.alert(Math.max(myArray));
1。如果您只想要第一个实例:
var arrayMaxIndex = function(array) {
return array.indexOf(Math.max.apply(null, array));
};
console.log(arrayMaxIndex([1,2,7,2])); //outputs 2
2.如果您想要所有出现的最大值:
function getAllIndexes(arr, val) {
var indexes = [], i = -1;
while ((i = arr.indexOf(val, i+1)) != -1){
indexes.push(i);
}
return indexes;
}
var arrayAllMaxIndexes = function(array){
return getAllIndexes(array, Math.max.apply(null, array));
}
console.log(arrayAllMaxIndexes([1,2,7,2,7])); // outputs [2,4]
每个人都做ES6更新,所以这里是我的:
const arr = [1, 2, 3];
const max = Math.max.apply(Math, arr.map((i) => i));
const maxIndex = arr.indexOf(max);
使用reduce
:也可以实现同样的效果
const getMax = (arr) => arr.reduce((acc, item) => (item > acc ? item : acc), arr[0]);
相关文章:
- 是索引数组文字的好做法
- jQuery ajax请求,将索引数组作为关键字字符串
- Javascript中的名称索引-数组/对象
- 如何在对象中按值创建排序索引数组
- 提取索引数组中的整数值
- 来自 jsp 和 javascript 中的请求属性的对象索引数组
- 单击导航索引数组时发出双重警报
- 以编程方式声明基于索引数组的变量(使用谷歌网站列表页面)
- 索引数组 JavaScript 中索引的搜索值
- 根据值从索引数组中删除元素
- 如何检查名称索引数组中有多少个特定结果
- 从 JavaScript 数组中删除索引数组
- 创建一个索引数组,该数组的索引值为 JavaScript 中最常见的数组值
- JavaScript 如何用数组解释索引数组
- 在javascript中向索引数组添加超链接
- 非数字索引数组的长度
- JavaScript-偶数索引数组元素乘以2,奇数索引乘以3
- Javascript-使用索引数组访问数组的元素
- 从数组中删除索引数组
- 在javascript中用索引数组索引一个数组的数组