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}]

总结

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

相关文章

  • vue计算属性+vue中class与style绑定(推荐)

    vue计算属性+vue中class与style绑定(推荐)

    这篇文章主要介绍了vue计算属性+vue中class与style绑定,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Vue.js数字输入框组件使用方法详解

    Vue.js数字输入框组件使用方法详解

    这篇文章主要为大家详细介绍了Vue.js数字输入框组件的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • Vue Element plus使用方法梳理

    Vue Element plus使用方法梳理

    Element Plus,由饿了么大前端团队开源出品的一套为开发者、设计师和产品经理准备的基于 Vue 3.0 的组件库,Element Plus是基于Vue3面向设计师和开发者的组件库,提供了配套设计资源,帮助你的网站快速成型
    2022-12-12
  • vue中使用jeecg进行前后端联调方式

    vue中使用jeecg进行前后端联调方式

    这篇文章主要介绍了vue中使用jeecg进行前后端联调方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • vue执行配置选项npm run serve的本质图文详解

    vue执行配置选项npm run serve的本质图文详解

    本地开发一般通过执行npm run serve命令来启动项目,那这行命令到底存在什么魔法?下面这篇文章主要给大家介绍了关于vue执行配置选项npm run serve的本质的相关资料,需要的朋友可以参考下
    2023-05-05
  • Vue.js如何监听window窗口尺寸变化

    Vue.js如何监听window窗口尺寸变化

    使用VUE开发后台项目,后台项目需要进行后台根据浏览器窗口进行变化,需要使用vue来监听浏览器的窗口变化,这篇文章主要给大家介绍了关于Vue.js如何监听window窗口尺寸变化的相关资料,需要的朋友可以参考下
    2023-11-11
  • Vue大屏数据展示示例

    Vue大屏数据展示示例

    公司的大数据工作组就需要通过数据大屏展示一些处理过后有价值的信息,本文主要介绍了Vue大屏数据展示示例,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 基于vue.js快速搭建图书管理平台

    基于vue.js快速搭建图书管理平台

    Vue.js是当下很火的一个JavaScript MVVM(Model-View-ViewModel)库.这篇文章主要介绍了基于vue.js快速搭建图书管理平台 ,需要的朋友可以参考下
    2017-10-10
  • vue路由对不同界面进行传参及跳转的总结

    vue路由对不同界面进行传参及跳转的总结

    这篇文章主要介绍了vue路由对不同界面进行传参及跳转的总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • vue-cli 3.0 引入mint-ui报错问题及解决

    vue-cli 3.0 引入mint-ui报错问题及解决

    这篇文章主要介绍了vue-cli 3.0 引入mint-ui报错问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05

最新评论