数组中最大浮点数的索引

wor*_*ith 3 javascript arrays

如何获得浮点数组中最大元素的索引?

[0.000004619778924223204, 0.8323721355744392, 0.9573732678543363, 1.2476616422122455e-14, 2.846605856163335e-8]

一旦我得到这个索引,我就想在这个索引上得到另一个数组的值.

让我们调用第二个数组:

['a', 'b', 'c', 'd', 'e']

当我运行以下内容时,我得到了'b'而不是'c'.

我遍历第一个数组,并将浮点数映射到字符串.然后我得到了第一个数组(浮点数组)排序的第一个元素的字符串.

//aInput in the array of floats.
var emObj={};
for(var i=0; i<aInput.length; i++){
    emObj[aInput[i]]=['a', 'b', 'c', 'd', 'e'][i];
}
return emObj[aInput.sort()[0]];
Run Code Online (Sandbox Code Playgroud)

我还尝试了一种方法,我遍历浮点数组并将最大值存储在变量中.然后我会做这样的事情:

return ['a', 'b', 'c', 'd', 'e'][aInput.indexOf(largestFloat)];
Run Code Online (Sandbox Code Playgroud)

但这些都没有奏效.总是返回错误的字符串.

All*_*ice 5

我建议用Math.max()indexOf()

var maxNum = Math.max.apply(null, aInput);
var index = aInput.indexOf(maxNum);
return ['a', 'b', 'c', 'd', 'e'][index];
Run Code Online (Sandbox Code Playgroud)