tag*_*s2k 115 javascript iteration jquery for-loop
是否有jQuery方法对对象的成员执行迭代,例如:
    for (var member in obj) {
        ...
    }
我只是不喜欢这个for从我可爱的jQuery符号中伸出来!
Tim*_*the 206
$.each( { name: "John", lang: "JS" }, function(i, n){
    alert( "Name: " + i + ", Value: " + n );
});
Gum*_*mbo 55
您也可以使用each对象而不仅仅是数组:
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 : "";
    //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"){
            //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");});
| 归档时间: | 
 | 
| 查看次数: | 101153 次 | 
| 最近记录: |