Vue中filter使用及根据id删除数组元素方式

 更新时间:2024年03月08日 11:27:14   作者:小破孩呦  
这篇文章主要介绍了Vue中filter使用及根据id删除数组元素方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue使用filter及根据id删除数组元素

先在methods下写一个filter过滤的方法

unique(arr) { // 根据唯一标识orderId来对数组进行过滤
        console.log(arr);
        const res = new Map();  //定义常量 res,值为一个Map对象实例
        //返回arr数组过滤后的结果,结果为一个数组   过滤条件是,如果res中没有某个键,就设置这个键的值为1
        return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1))
},

使用过滤方法

this.list = this.unique(this.list);

根据id删除数组元素

del(id){
        //ES6
        //根据id查找元素 findIndex
        //let index = arr.findIndex(function(ele,index,arr){return ele.id==id})
        //函数内如果返回true,就结束遍历并返回当前index;
        //index如果没有找到返回-1
        let index = this.list.findIndex((ele) =>{
          return ele.id === id;
        });
        //假设没有找到
        console.log(index);
        if(index === -1){
          return console.log('删除失败');
        }
        //删除元素
        this.list.splice(index,1);
        console.log(this.list)
}

vue中filter()函数的用法

filter函数基本格式:

let newArr=this.list.filter(item=>item.id!==val)

首先在这里我们要知道的两个基础知识

一、filter是一个过滤器。

二、箭头函数filter(item=>item.id!==val)相当于filter(item){item.code!==val}

其中list是数组,this.list.filter()是指在list数组中,过滤掉item.id!==val条件的数组项,newArr代表得到条件为item.id不等于val的时候的数组,相当于数组中删除了item.id为val的项。

//举例
//定义一个数组,有3条数据
 list = [
  {
    id: 1,
    name: '吃饭',
    done: true
  },
  {
    id: 2,
    name: '睡觉',
    done: false
  },
  {
    id: 3,
    name: '打豆豆',
    done: false
  }
]
//删除id为2的数组项,得到新的数组
let newArr = this.list.filter(item=>item.id!==2);  //[{id: 1,name: '吃饭',done: true},{id: 3,name: '打豆豆',done: false}]

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue3中使用router4 keepalive的问题

    vue3中使用router4 keepalive的问题

    这篇文章主要介绍了vue3中使用router4 keepalive的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • vue中对象的赋值Object.assign({}, row)方式

    vue中对象的赋值Object.assign({}, row)方式

    这篇文章主要介绍了vue中对象的赋值Object.assign({}, row)方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • vue 目录树的展开与关闭的实现

    vue 目录树的展开与关闭的实现

    Vue作为一款流行的前端框架,提供了一种数据驱动的方式来实现目录树,本文主要介绍了vue 目录树的展开与关闭的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • vue3中的对象时为proxy对象如何获取值(两种方式)

    vue3中的对象时为proxy对象如何获取值(两种方式)

    使用vue3.0时,因为底层是使用proxy进行代理的所以当我们打印一些值得时候是proxy代理之后的是Proxy<BR>对象,Proxy对象里边的[[Target]]才是真实的对象,那么如何获取这个值呢,下面下面给大家介绍两种方式,感兴趣的朋友一起看看吧
    2023-01-01
  • Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法

    Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法

    vue中v-if 和v-else-if在页面加载的时候,不满足条件的标签会加载然后再消失掉,如果要解决这个问题,下面小编给大家带来了实例代码,需要的朋友参考下吧
    2018-10-10
  • Ruoyi-Vue处理跨域问题同时请求多个域名接口(前端处理方法)

    Ruoyi-Vue处理跨域问题同时请求多个域名接口(前端处理方法)

    跨域问题一直都是很多人比较困扰的问题,这篇文章主要给大家介绍了关于Ruoyi-Vue处理跨域问题同时请求多个域名接口的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • Vue实现牌面翻转效果

    Vue实现牌面翻转效果

    这篇文章主要为大家详细介绍了Vue实现牌面翻转效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • Element Card 卡片的具体使用

    Element Card 卡片的具体使用

    这篇文章主要介绍了Element Card 卡片的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • vue父子传值,兄弟传值,子父传值详解

    vue父子传值,兄弟传值,子父传值详解

    这篇文章主要介绍了Vue传值-三种常用传值示例,主要介绍了父组件向子组件进行传值,子组件向父组件传值和非父子组件进行传值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • el-table多选toggleRowSelection不生效解决方案

    el-table多选toggleRowSelection不生效解决方案

    这篇文章主要给大家介绍了关于el-table多选toggleRowSelection不生效的解决方案,文中通过图文以及代码将解决办法介绍的非常详细,需要的朋友可以参考下
    2023-08-08

最新评论