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中对象的赋值Object.assign({}, row)方式
这篇文章主要介绍了vue中对象的赋值Object.assign({}, row)方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-03-03
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
vue中v-if 和v-else-if在页面加载的时候,不满足条件的标签会加载然后再消失掉,如果要解决这个问题,下面小编给大家带来了实例代码,需要的朋友参考下吧2018-10-10
Ruoyi-Vue处理跨域问题同时请求多个域名接口(前端处理方法)
跨域问题一直都是很多人比较困扰的问题,这篇文章主要给大家介绍了关于Ruoyi-Vue处理跨域问题同时请求多个域名接口的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下2024-05-05
el-table多选toggleRowSelection不生效解决方案
这篇文章主要给大家介绍了关于el-table多选toggleRowSelection不生效的解决方案,文中通过图文以及代码将解决办法介绍的非常详细,需要的朋友可以参考下2023-08-08


最新评论