programing

jQuery를 사용하여 JavaScript 오브젝트 속성 반복

lastmoon 2023. 9. 4. 20:35
반응형

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

반응형