javascript - 多个最高分的返回索引

标签 javascript arrays

我正在研究如何从数组中返回最高分数的索引,但我正在努力弄清楚是否可以从该方法返回多个项目,或者我是否需要使用返回数组中两个最高分数的索引的替代方法。

 var scores = [60, 50, 60, 58, 54, 54,
                  58, 50, 52, 54, 48, 69,
                  34, 55, 51, 52, 44, 51,
                  69, 64, 66, 55, 52, 61,
                  46, 31, 57, 52, 44, 18,
                  41, 53, 55, 61, 51, 44];

var tests = scores.length;
var highest;
for (var i = 0; i < scores.length; i++) {
  if (i === 0) {
    highest = scores[i];
  }
  if (scores[i] > highest) {
    highest = scores[i];
  }
}

最佳答案

返回包含索引的数组。当你得到一个高于最高的元素时,清空数组并将 i 放入其中。当你得到一个等于最高的元素时,将 i 插入数组。

var highest = scores[0];
var indexes = [0];
for (var i = 1; i < scores.length; i++) {
    if (scores[i] > highest) {
        // Found new highest, reset everything
        indexes = [i];
        highest = scores[i];
    } else if (scores[i] == highest) {
        // Found duplicate highest, add its index to indexes array
        indexes.push(i);
    }
}

关于javascript - 多个最高分的返回索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33112213/

相关文章:

javascript - 基准 Javascript : onclick in tag vs click in js

javascript - 单击按钮本身以及其他按钮时更改按钮的图像源属性

javascript - Jquery on click delays 切换类

ios - UIButton 数组 - 每个按钮都指向 CollectionView swift 中的标签 0

python - 根据前 4 个字母从 Python 中的数组中删除重复项

php - 按用户级别从 MySql 表中选择所有 ID,并将每个级别的 ID 数存储在数组中?

迭代时 JavaScript 对象显示为 'undefined'

javascript - 如何从 Webhook 运行 Gulp

javascript - React-Native headless (headless)怀疑

javascript - 展平数组,但使用子数组作为基础