我试图获取数组中5个最小值的索引。

我已经尝试过下面的代码,但是它给出了错误:Math.min.apply(...)。indexOf不是一个函数。我只是不确定我可以用作替代品吗?

var smallest = [];
for (var i = 0, length = distances.length; i < length; i++) {
    var min = Math.min.apply(null,distances).indexOf();
    if (smallest.length <= 5) {
        smallest.push(min);
    }
    console.log(smallest);
}


谢谢!

最佳答案

您可以获取键,将其与值进行排序,然后排在前五位。

var indices = [...distances.keys()]
        .sort((a, b) => distances[a] - distances[b])
        .slice(0, 5);

09-20 18:35