2016-07-11 7 views
-1

私は標準オブジェクトを持っている場合はJavascript標準オブジェクト - 2つの要素を返す方法

var data = []; 

data["Name"] = ["Janet", "James", "Jean", "Joe", "John"]; 
data["Number"] = [25, 22, 37, 19, 40]; 

は、私はどのように私は戻って、最小数の値に関連付けられた名前を表示することができますか?最小数の値「19」

をしたいと言いますか最大値に関連付けられた名前はどうですか?

基本的に、2つの要素を一度に返すにはどうすればよいのですか。それらが互いに関連付けられているかどうかをどのように調べることができますか?

私はindexOf()を試しましたが、標準オブジェクトではメソッドが正しく動作しません。 私はJavascriptをかなり新しくしています。

EDITED:アレイ上の角括弧を忘れてしまった...

+2

あなたのコードにたくさんのバグがあります –

+2

あなたのデータの周りにいくつかの[...]がありません。 –

+0

'var data = {}; data ["Name"] = ["Janet"、 "James"、 "Jean"、 "Joe"、 "John"]; data ["Number"] = [25,22,37,19,40]; ' –

答えて

2

使用Math.min.applysmallest

var data = {}; //Initialize it as object 
 

 
data["Name"] = ["Janet", "James", "Jean", "Joe", "John"]; 
 
data["Number"] = [25, 22, 37, 19, 40]; 
 

 
var min = Math.min.apply(null, data["Number"]); 
 
console.log(min); 
 
console.log(data["Name"][data["Number"].indexOf(min)]); 
 
//-----------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^To get the index of smallest number

+0

'var data = {};' –

+0

@PranavCBalan - うん!更新された.. – Rayon

+0

@SpencerWieczorek - 連想配列ではあるものの、 'readable'と_confusing_でない_confusing_ – Rayon

0

のインデックスを取得するためにarrayArray#indexOfからsmallest値を取得しますES6を使用した代替ソリューションArray.prototype.find()機能:

// search for MAX number 
var idx = data["Number"].indexOf(Math.max.apply(null, data["Number"])), 
    nameWithMax = data["Name"].find((v, i) => i === idx); 
console.log(nameWithMax); // "John" 
関連する問題