두가지 질문입니다.
첫번째는 아래와 같은 배열에서 특정 id 값인 요소를 찾은뒤, name 을 알아 내려면 ?? 자리에 어떻게 해야 하는지??
Copy
<script>
var txt = '[{"id":"1","name":"가갑순"},{"id":"2","name":"나도순"},{"id":"3","name":"다리미"}]';
var obj = JSON.parse(txt);
var name = ?? //-- id 가 2인 것을 찾아서 이름(나도순)을 저장
alert(name);
</script>
두번째는 아래 JSON 문자열(txt)이 좀 다릅니다.
student 의 요소로 배열을 사용한 객체입니다.
이 경우에 는 배열에서 name='나도순' 을 찾은뒤, id 값을 알아 내려면??
Copy
<script>
var txt = '{"student":[{"id":"1","name":"가갑순"},{"id":"2","name":"나도순"},{"id":"3","name":"다리미"}]}';
var obj = JSON.parse(txt);
var no = ?? //--- '나도순' 이름으로 찾아서 번호(2)를 저장
alert(no); // 번호 출력
</script>
여기저기 검색해도 객체 만드는 법과 1개일때는 설명이 많은데 다중배열객체에서 특정 배열요소만 찾는 방법을 못찾겠습니다...ㅠ
답변 3개
채택된 답변
+20 포인트
Copy
이것도 가능
for (var i = 0; i < obj.length; i++) {
if(obj[i].id==2){ name =obj[i].name; break;}
}
-----------------------------------------------
for (var i = 0; i < obj["student"].length; i++) {
if(obj["student"][i].name=="다리미"){ id = obj["student"][i].id; break;}
}
답변을 작성하려면 로그인이 필요합니다.