如何使用 JavaScript 获取数组中最小值的索引?

Mig*_*ues 8 javascript arrays min

我写了这个函数,它返回-1.

function sayHello() {
  let arrayEdificiosNiveis = [11,10,10];
  var indexMenor = arrayEdificiosNiveis.indexOf(Math.max(arrayEdificiosNiveis));
  console.log(indexMenor);
}
sayHello();
Run Code Online (Sandbox Code Playgroud)

我期望 0,而不是 -1。我该如何解决这个问题?

Nin*_*olz 11

您需要扩展数组以获得最大值。否则,您将获得NaN作为值(通过字符串数组),并且这不在数组中(并且不可搜索)。

扩展数组将所有元素作为函数的参数(扩展语法...)。

在这种情况下,它遵循这种方式

Math.max(...[11, 10, 10])
Run Code Online (Sandbox Code Playgroud)

被评估为

Math.max(11, 10, 10)
Run Code Online (Sandbox Code Playgroud)

Math.max(...[11, 10, 10])
Run Code Online (Sandbox Code Playgroud)