返回数组中最大值的索引

普热梅克

我想有一个返回数组最大值的函数。我知道这个问题被问过很多次,但是在一个数组中有一个最大值以上的情况下怎么办?假设我们的数组如下所示:

var arr = [1,10,2,10];

功能:

arr.indexOf(Math.max.apply(Math, arr) );

只返回索引1,但我想得到1和3。

什么是最短,最有效的方法。

丹·普林斯
const largest = Math.max(...arr);
arr.reduce((indexes, n, index) => {
  return indexes.concat(n === largest ? [index] : []);
}, []);

或者,如果ES5是您的最佳选择:

var largest = Math.max.apply(Math, arr);
arr.reduce(function(indexes, n, index) {
  return indexes.concat(n === largest ? [index] : []);
}, []);

或者,如果通用函数是您的事:

function findAllIndexes(arr, val) {
  return arr.reduce((indexes, element, index) => {
    if(element === val) {
      return indexes.concat([element]);
    } else {
      return indexes;
    }
  }, []);
}

findAllIndexes(arr, Math.max(..arr));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

返回数组中最大值的索引

来自分类Dev

使用 JavaScript 返回 3 维数组中最大值的索引

来自分类Dev

如何获取数组中最大值的索引?

来自分类Dev

如何返回数组中最大值的位置

来自分类Dev

返回最大值的索引

来自分类Dev

数组最大值的索引

来自分类Dev

返回数组索引k处的整数最大值

来自分类Dev

如何使用python从数组中返回最大值索引?

来自分类Dev

C#获取二维整数数组中最大值的索引值

来自分类Dev

返回表示每个组中最大值的索引的一系列数字位置

来自分类Dev

返回数组中最接近值的索引

来自分类Dev

多重数组最大值的索引

来自分类Dev

返回包含Excel中最大值的列的列标题

来自分类Dev

返回基于记录中最大值的列名

来自分类Dev

返回数组javascript的最大值

来自分类Dev

从多维数组 (ndarray) 返回最大值

来自分类Dev

每行中最大值元素的索引(最后一个索引)

来自分类Dev

数组中最大浮点的索引

来自分类Dev

如何返回范围内最大值的相应索引?

来自分类Dev

获取Java数组中n个最大值的索引

来自分类Dev

在排除索引的数组中找到最大值

来自分类Dev

使用NumPy在数组中查找最大值的索引

来自分类Dev

如何找到给定索引之间的numpy数组的最大值?

来自分类Dev

查找与numpy数组的最大值对应的索引

来自分类Dev

显示数组中的最大值和索引号

来自分类Dev

如何找到给定索引之间的numpy数组的最大值?

来自分类Dev

Numpy 在小范围数组内查找最大值的索引

来自分类Dev

python数组获取最大值并存储索引

来自分类Dev

解析云:无法返回列中最大值查询的值