搜尋

首頁  >  問答  >  主體

javascript - 如何在foreach中,所有條件滿足才生效,有一個不符合就跳出循環


如圖,我想單選全部選擇後,自動選擇全選,如何實作


這樣寫可以實現,可是每次都在改這個全域變量,總覺得坑坑的,有沒有什麼好的方法解決下

PHP中文网PHP中文网2794 天前1103

全部回覆(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
  • 取消回覆