2016-07-11 1 views
-1

만약 내가 Javascript 표준 개체 - 두 요소를 반환하는 방법?

var data = []; 

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

내가 '19'

최소한의 값을 원하는 말 표준 객체 내가 어떻게 돌아가 최소 값과 관련된 이름을 표시 할 수 있습니까? 최대 값과 관련된 이름은 무엇입니까?

기본적으로 두 요소를 동시에 반환 할 수 있으며 어떻게하면 서로 연관되어 있는지 확인할 수 있습니까?

나는 indexOf()를 시도했지만 표준 객체에서는 메소드가 제대로 작동하지 않습니다. 저는 Javascript를 처음 접했습니다.

편집 : 배열에 대괄호를 ... 잊어

+2

코드에 버그가 많습니다. –

+2

데이터 주위에'[...] '가 누락 된 것 같습니다. –

+0

'var data = {}; 데이터 [ "Name"] = [ "Janet", "James", "Jean", "Joe", "John"]; 데이터 [ "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 - '연관 배열'이지만 덜 읽기 쉽고 _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"