es6数组方法findIndex()

当条件为true时findIndex()返回的是索引值,如果没有符合条件元素时findIndex()返回的是-1,findIndex()当中的回调函数也是接收三个参数。

比如说选中与不选中的id问题,当开关开启时获取选中的id,选中后关闭选中就删除刚才选中的id

<el-switch v-model="it.switchState" @click.native="handel(it)" name="it.id"></el-switch>

handel(val) {
      if (val.switchState) {
        this.idArrs.push(val.id);
      } else {
        //查找id也就是查找到被选中的id,参数就是数组中所有值,一定要指定要被操作的值
        let currentIdIndex = this.idArrs.findIndex(item => item == val.id);
        //因为findIndex方法不符合条件是返回的是-1,所以判断不为-1时执行删除
        if (currentIdIndex != -1) {
          this.idArrs.splice(currentIdIndex, 1);
        }
}

 

posted @ 2019-11-25 09:54  写手在作画  阅读(4430)  评论(0编辑  收藏  举报