【javascript】jQuery中.each循环,如何跳出循环,以及循环数组时对于数组操作时的坑

1、本人在做一个需求时,使用了jQuery中的.each,来遍历一个数组 ,并在数组中对于符合条件的元素进行删除操作。

比如,我现在的数组如下:

var agent_list = [{'value': 'all','text': '全部'}, {'value': 5, 'text': '山东-5'}, {'value': 6, 'text': '广东-6'}];

如果,我们删除value = all的情况。写如下代码:

var cur_value = "all";
$.each(agent_list, function(index, value) {
            if (  agent_list[index]["value"] == cur_value ) {
                agent_list.splice(index, 1);// 删除数组index索引的元素
                return;
            }
});

如果,不使用return false,来正常退出each,会导致出现找不到["value"]属性的情况,也就是循环实际上没有停止,但是,

数组agent_list又实时改变了,改变之后,导致接来下的循环中,出现了问题。


2、在jQuery中的.each,要想退出循环,使用如下方法。

return false,表示正常for循环中的break;

return true,表示正常for循环中的continue;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值