$.each()遍历遇到的坑
来源:互联网 发布:sqlserver 升级 编辑:程序博客网 时间:2024/06/11 03:53
今天写了个利用$.each()循环遍历json对象数组,判断是否含有指定value的函数,期间遇到了点返回值问题,特此记录。
首先生成一个用于测试的json数组
var jsonData = [{ "name": "mike", "age": 24 }, { "name": "andy", "age": 20 }, { "name": "John", "age": 17 } ]
接下来写一个函数,来判断json数组中是否含有“John“
function ifHasJohn(data) { $.each(data, function(index, el) { if (el["name"] == "John") { console.log(el["name"] == "John");//这一行在控制台输出总会是true return true; } }); return false; }
接下来alert打印函数的返回值
alert(ifHasJohn(jsonData));
结果发现返回的结果总是false,明明John就出现在了数组中,而且函数中的console.log总会在控制打印true
查了一下,原因如下:
jquery跳出当前的each循环,使用如下方式:
return false;——跳出所有循环;相当于 javascript 中的 break 效果。
return true;——跳出当前循环,进入下一个循环;相当于 javascript 中的 continue 效果
因此,正确的函数写法应该是
function ifHasJohn(data) { var flag=false;//设置是否存在的标识符 $.each(data, function(index, el) { if (el["name"] == "John") { flag=true; return false;//退出所有循环 } }); return flag; }
这样就会得到正确的返回结果:true
阅读全文
1 0
- $.each()遍历遇到的坑
- jquery的each遍历
- jquery$().each和$.each()遍历的区别
- jquery遍历的each方法
- JQuery遍历-$.each()||$().each()
- each遍历
- JS中遍历函数each的实现
- 前台jquery each遍历数据的问题
- $.each工具函数的使用方式;遍历
- $.each()遍历对象的两种形式
- $.each遍历json对象的问题
- JS中遍历函数each的实现
- 遍历 jquery $().each 和 $.each()
- 遍历 jquery $().each和$.each()
- JS 遍历数组,遍历对象遇到的坑
- each()方法能使DOM循环结构简洁。each()函数的遍历,each()遍历一维数组、多维数组。
- jQuery 遍历 - each() 方法
- jQuery 遍历 - each() 方法
- MFS部署及运维
- Zabbix3.2监控OGG延时
- 盒子模型之中心开班信息页面
- 关于ASSERT(断言)的作用
- SeqStack(Template<class T>)实现
- $.each()遍历遇到的坑
- Redis学习-1:Redis在Windows安装
- Java开发中的23种设计模式详解(转)
- eclipse新建maven webapp后无法添加src/main/java和src/main/test
- PHP中AJAX的使用
- Java集合数据存储的总结
- spring的声明式事务
- 解密蓝牙mesh系列 | 第一篇
- ios中的事件处理和第一响应