2017-04-05 7 views
1

です。私は同じ次元の2つの配列を持っています.1つは周波数用、もう1つは値用です。配列内の最大値とそれに対応する文字列は

例:

var value = [20, 40, 10, 80, 16]; 
var frequency = [10, 16, 25, 31.5, 40]; 

私はこのよう

var maxValue = Math.max.apply(Math, value); 

方法のmath.maxを使用は、今私は、周波数配列の同じ位置に周波数を見つけたいです。

+10

'frequency [value.indexOf(maxValue)]'それを行う必要があります。 – Rajesh

答えて

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 
1

は、値が一意であると仮定。

var maxValue = Math.max.apply(Math, value); 
var index = value.indexOf(maxValue); 
var freq = frequency[index]; 
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);

0

ありがとうございました。 それは動作します! 他の質問

私は2つの配列の各要素を分割し、要素の新しい配列を作成したいと思います。

私はこれらの方法で試してみますが、結果は配列ではなく単一の値です。

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(除算)。

ありがとうございました。

関連する問題