我有两个具有相同维度的数组,一个用于频率,一个用于值。
示例:
var value = [20, 40, 10, 80, 16];
var frequency = [10, 16, 25, 31.5, 40];
我用这种方法使用了math.max方法
var maxValue = Math.max.apply(Math, value);
现在我想在频率数组的相同位置找到频率。
答案 0 :(得分:1)
假设值是唯一的。
var maxValue = Math.max.apply(Math, value);
var index = value.indexOf(maxValue);
var freq = frequency[index];
答案 1 :(得分:0)
你可以这样做:
var maxValue = Math.max.apply(Math, value); //finding max value
var index_freq = value.indexOf("maxValue "); // findind index of that max
var myFrequecy = frequency[index_freq]; //frequecy value for same as in value
答案 2 :(得分:0)
在O(n)时间内您可以执行以下操作。这应该与单个Math.max()
函数一样有效。
var value = [20, 40, 10, 80, 16],
frequency = [10, 16, 25, 31.5, 40],
result = value.reduce((p,c,i) => c > p.v ? (p.v = c, p.f = frequency[i],p)
: p, {v:-Infinity, f:-Infinity});
console.log(result);
答案 3 :(得分:0)
非常感谢你。 有用! 其他问题
我想划分两个数组的每个元素并创建一个新的元素数组。
我尝试这种方式,但结果是单个值,而不是数组。
var array1 = [20, 40, 10, 80, 16];
var array2 = [10, 16, 25, 31.5, 40];
for (var i=0;i<array1.length;i++) {
divide = array1[i] / array2[i];
}
的console.log(除)。
感谢。