JQuery- 遍历不同类型的集合数据

21,675次阅读
没有评论

共计 2006 个字符,预计需要花费 6 分钟才能阅读完成。

数组类型的数据使用 for 或者 JQ 的 map()方法;集合类型的数据使用 forin 或者 JQ 的 each()方法;所以不论集合类型与数组类型的数据如何相互嵌套, 遍历使用时只看当前遍历的是其中哪个类型的。

集合数据有简单是键值对集合, 比较复杂的数组套集合或集合套集合, 更复杂的集合数组相互嵌套的集合。

根据不同类型集合数据的特点使用对应的循环遍历方法以获取和应用集合数据。

1、循环简单集合

简单的集合数据一般使用 forin 或者 jQuery 的 each()方法, 通过数组数据作对比。

// 数组
var arr = ["河南", "河北", "山东"];
 for (var i = 0; i 

JQ 的 each()方法比 forin 循环优化了对集合值的处理。

JQuery- 遍历不同类型的集合数据

循环简单集合数据

2、循环数组集合

(1)使用 for 或者 JQ 的 map()方法循环数组集合数据

var ps = [{'name': '张三', 'age': 18}, {'name': '李四', 'age': '20'}];
console.log('==========for 循环 ============');
console.log('');
for (var i = 0; i 
 A 方式:   var p = ps[i];   console.log('p.name:' + p.name + 'p.age:' + p.age);
B 方式:   console.log('ps[i].name:' + ps[i].name + 'ps[i].age:' + ps[i].age);
// B 方式比 A 方式少了一个变量
map()方法: console.log('第'+index+'个集合, 两个属性值为:'+item.name+' '+item.age);
//map()方法的 item 等价于 B 方式的 ps[i]

对比后发现 JQ 的 map()方法比 for 循环优化了循环时下标对应集合名称的处理

JQuery- 遍历不同类型的集合数据

数组集合中, 每个索引对应的是一个对象集合, 要得到对象中的值通过对象点属性名或者中括号属性名。

for 与 forin 嵌套循环数组集合数据, 输出结果类似不再截图。

for (var i = 0; i 

3、循环集合套集合

使用 forin 或者 jQuery 的 map()或 each()方法循环集合套集合数据

var ps = {"p1": { 'name': '张三', 'age': 18}, "p2": {'name': '李四', 'age': '20'} };
console.log('==========forin 循环 ============');
for (var key in ps) {var psi = ps[key];
    console.log('键:' + key + '得到集合:' + psi);
    //psi.nameps[key].name 或者 ps[key]["name"]
    console.log('值:' + psi.name + '值:' + psi.age);
}
console.log('==========map()方法 ============');
$.map(ps, function (item, index) {console.log('键:' + index + '得到集合:' + ps[index]);
    console.log('值:' + item.name + '值:' + item.age);
});
console.log('==========each()方法 ============');
$.each(ps, function (k, v) {console.log('键:' + k + '得到集合:' + v);
    console.log('值:' + v.name + '值:' + v.age);
});

JQuery- 遍历不同类型的集合数据

使用双层 forin 循环, 循环集合套集合数据。

var ps = {"p1": { 'name': '张三', 'age': 18}, "p2": {'name': '李四', 'age': '20'} };
 for (var key in ps) {console.log('键:' + key + '得到集合:' + ps[key]);
     //key 为 p1 时  ps[key]对应集合{'name': '张三', 'age': 18}
     //key 为 p2 时  ps[key]对应集合{'name': '李四', 'age': '20'} 
     // 下面的循环是为 key=p1 时循环集合 {'name': '张三', 'age': 18} 的值
     for (var key2 in ps[key]) {                    
         // 第一次循环
         //key2 为 name 时 值为 张三
         //key2 为 age  时  值为 18
         // 第二次循环
         //key2 为 name 时 值为 李四
         //key2 为 age  时  值为 20
         var pk=ps[key];
         //ps[key][key2]
         console.log('键:' + key2 + '值:' + pk[key2]);
     }
 }

JQuery- 遍历不同类型的集合数据

双层 forin 循环

小结

数组类型的数据使用 for 或者 JQ 的 map()方法。

集合类型的数据使用 forin 或者 JQ 的 each()方法。

所以不论集合类型与数组类型的数据如何相互嵌套, 遍历使用时只看当前遍历的是其中哪个类型的。

原文地址: JQuery- 遍历不同类型的集合数据

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2025-02-01发表,共计2006字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)