반응형
jQuery를 사용하여 JavaScript 오브젝트 속성 반복
다음과 같이 개체의 멤버에 대해 반복을 수행하는 jQuery 방법이 있습니까?
for (var member in obj) {
...
}
나는 그냥 이것이 싫습니다.for
나의 사랑스러운 jQuery 표기법 사이에서 튀어나왔습니다!
$.each( { name: "John", lang: "JS" }, function(i, n){
alert( "Name: " + i + ", Value: " + n );
});
어레이뿐만 아니라 개체에도 사용할 수 있습니다.
var obj = {
foo: "bar",
baz: "quux"
};
jQuery.each(obj, function(name, value) {
alert(name + ": " + value);
});
참고: 대부분의 최신 브라우저에서는 이제 개발자 콘솔에서 개체를 탐색할 수 있습니다.이 대답은 구식입니다.
이 메서드는 개체 속성을 살펴보고 들여쓰기 횟수를 늘려 콘솔에 씁니다.
function enumerate(o,s){
//if s isn't defined, set it to an empty string
s = typeof s !== 'undefined' ? s : "";
//if o is null, we need to output and bail
if(typeof o == "object" && o === null){
console.log(s+k+": null");
} else {
//iterate across o, passing keys as k and values as v
$.each(o, function(k,v){
//if v has nested depth
if(typeof v == "object" && v !== null){
//write the key to the console
console.log(s+k+": ");
//recursively call enumerate on the nested properties
enumerate(v,s+" ");
} else {
//log the key & value
console.log(s+k+": "+String(v));
}
});
}
}
반복할 개체를 다음과 같이 전달합니다.
var response = $.ajax({
url: myurl,
dataType: "json"
})
.done(function(a){
console.log("Returned values:");
enumerate(a);
})
.fail(function(){ console.log("request failed");});
var a={key1:'value1',key2:'value2',key3:'value3',key4:'value4'},
ulkeys=document.getElementById('object-keys'),str='';
var keys = Object.keys(a);
for(i=0,l=keys.length;i<l;i++){
str+= '<li>'+keys[i]+' : '+a[keys[i]]+'</li>';
}
ulkeys.innerHTML=str;
<ul id="object-keys"></ul>
언급URL : https://stackoverflow.com/questions/1096924/iterating-a-javascript-objects-properties-using-jquery
반응형
'programing' 카테고리의 다른 글
PowerShell에서 서브루틴을 정의하는 방법 (0) | 2023.09.04 |
---|---|
왜 PHP가 오류 코드 없이 mysqli_connect에 고착됩니까? (0) | 2023.09.04 |
AlarmManager에 알람이 이미 설정되어 있는지 확인하는 방법은 무엇입니까? (0) | 2023.09.04 |
스판 태그 내부에 수직으로 정렬하려면 어떻게 해야 합니까? (0) | 2023.09.04 |
MySQL의 문자열에 삽입 (0) | 2023.09.04 |