首页  >  问答  >  正文

javascript - 如何在foreach中,所有条件满足才生效,有一个不符合就跳出循环


如图,我想单选全部选择后,自动选择全选,如何实现


这样写可以实现,可是每次都在改这个全局变量,总觉得坑坑的,有没有什么好的方法解决下

PHP中文网PHP中文网2710 天前1062

全部回复(6)我来回复

  • 淡淡烟草味

    淡淡烟草味2017-05-19 10:34:21

    forEach 这个方法是没办法提前退出的。只能用 for 循环

    像你这种逻辑可以先map一下返回符合勾选条件的数组,在forEach进行视图更新

    if(this.productList.every(item => item.checked)) {
        _this.checkAllF = true
    }

    回复
    0
  • 滿天的星座

    滿天的星座2017-05-19 10:34:21

    提前退出的用some或者every,而且你功能的描述和提前退出的关系在哪了

    回复
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:34:21

    是没有办法的,

    回复
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:34:21

    @crp205 的答案正解.
    some 如果返回 true 就会中断循环, every 有一项返回 false 就终止循环.some 如果返回 true 就会中断循环, every 有一项返回 false 就终止循环.
    数组的遍历只有这两个支持跳出循环了,否则就得用 for数组的遍历只有这两个支持跳出循环了,否则就得用 for

    回复
    0
  • 迷茫

    迷茫2017-05-19 10:34:21

    forEach改成every,然后return false

    回复
    0
  • 阿神

    阿神2017-05-19 10:34:21

    js为什么没有这种语法:
    document.getElementsByxxx.checked(true/false)
    表示获取同一类别所有checkbox/radio 被选中的个数 或者 未选中的个数。

    回复
    0
  • 取消回复