如何获取浮点数数组中最大元素的索引?
[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]];
我也尝试了一种方法,通过对浮点数数组进行迭代并将最大值存储在变量中。然后我会像这样做:
return ['a', 'b', 'c', 'd', 'e'][aInput.indexOf(largestFloat)];
但是这两个方法都不起作用,总是返回错误的字符串。