2013-08-05 2 views
1

나는 나이 같은 데이터에 액세스 할 수 있도록 자바 스크립트의 배열을 만들려고하고 만들기 :(PHP는 ASSOC 배열과 동일) 2 차원 연관 배열 자바 스크립트

그러나
var name = infArray[0]['name']; 

난 아무것도 얻을 수가 캔트 이런 식으로 일해라. 내가 json_encode를 사용하여 php에서 javascript로 assoc 배열을 전달할 때이 방식으로 데이터를 구조화했습니다. 이유는 내가 이것을 한 이유는 내가 PHP에 동일한 형식으로 다시 SQL 요청을 업데이 트를 전달할 수있는 데이터입니다.

+0

그냥'배열 serialize', 그것은 unserialize', 당신이 그것의 쉬운 시간을 가질 것'다음 다른 PHP 파일을 통과합니다. 중간 자바 스크립트 변환이 필요하지는 않습니다. – DevlshOne

+0

@DevlshOne : JSON은 직렬화 형식이기도하지만 다른 형식 일뿐입니다. –

+0

나는 당신이 의미하는 바를 이해하지 못한다. 나는 PHP에서 꺼낸 정보 배열의 id로 PHP로 다시 전달해야하는 정보를 담고있는 2 개의 배열을 가지고있다. –

답변

4

JavaScript에 연관 배열이 없습니다. 그것은 (숫자) 배열과 객체를 가지고 있습니다.

원하는 것은 둘 다 혼합 된 것입니다. 이런 식으로 뭔가 : 당신이 보여처럼

var infArray = [{ 
    name: 'Test', 
    hash: 'abc' 
}, { 
    name: 'something', 
    hash: 'xyz' 
}]; 

그런 다음 당신이 그것을 액세스 할 수 있습니다

var name = infArray[0]['name']; // 'test' 

또는 점 표기법을 사용하여 :

var name = infArray[0].name; // 'test' 
+0

답장을 보내 주셔서 대단히 감사합니다. 너무 오랫동안 (어림짐작이 필요합니다) 바보 같이 붙어 있었습니까? 어떻게하면 빈 상태로 만들겠습니까? 그러면 for 루프로 채울 수 있습니까? –

+0

기꺼이 도와 드리겠습니다! :-디 –

0

자바 스크립트 ASSOC 배열이 없습니다. obj['somthing']으로 선언 된 모든 객체는 obj.something과 같으며 속성입니다. 또한 배열에서 다소 오도 될 수 있으므로 추가 된 속성은 배열을 변경하지 않습니다. 시도 obj.length.

2

단순히 var infArray = [{name: 'John'}, {name: 'Greg'}] ;-)

0

자바 스크립트는 다음과 같은 2 차원 연관 배열이 없습니다. 그러나 2D 연관 배열은 코드 아래를 통해 실현 될 수있다 :

var myArr = { K1: { 
    K11: 'K11 val', 
    K12: 'K12 Val' 
    }, 
    K2: { 
    K21: 'K21 Val', 
    K22: 'K22 Val' 
    } 
}; 
alert(myArr['K1']['K11']); 
alert(myArr['K1']['K12']); 
alert(myArr['K2']['K21']); 
alert(myArr['K2']['K22']);