Js(filter)移除数组指定的元素或者某一项、(Vue移除数组指定的项并更新ui)
filter可以移除一项或者同时移除指定的多项 推荐。
·
JS数组移除元素的方法_淡莣一苆~的博客-CSDN博客_js数组移除元素
Vue移除数组指定的项并更新ui
// 假设有一个名为items的数组存放了需要展示的数据
let items = ['item1', 'item2', 'item3']; // 原始数据
// 移除第二个项(index=1)
items.splice(1, 1); // 从索引位置1开始删除1个元素
console.log(items); // 输出结果:['item1', 'item3']
// 假设有一个名为items的数组存放了需要展示的数据
let items = ['item1', 'item2', 'item3']; // 原始数据
// 移除包含'item2'的项
for (let i = 0; i < items.length; i++) {
if (items[i] === 'item2') {
items.splice(i, 1);
break;
}
}
console.log(items); // 输出结果:['item1', 'item3']
常用:
forEach || filter (通过迭代循环,删除元素,返回新数组) filter可以移除一项或者同时移除指定的多项 推荐
//移除指定的某一项元素
let arr = [1,2,3,4,5,6,7,8,9];
arr = arr.filter((item)=>{
return item !== 3
});
console.log('length',arr.length); //length 8
console.log('arr',arr); //arr (8) [1, 2, 4, 5, 6, 7, 8, 9]
//同时移除指定的多项元素
let arr = [1,2,3,4,5,6,7,8,9];
arr = arr.filter((item)=>{
return item !== 1&&item !== 3 && item !==4
});
//只返回符合条件的元素
arr = arr.filter((item)=>{
return item == 2 || item == 4 || item == 6
});
console.log('length',arr.length); //length 6
console.log('arr',arr); //arr (6) [2, 5, 6, 7, 8, 9]
//联动
//1.先从数组选中符合条件的isDefaultSelect =1 的项,在把他们的 taskTypeId 单独提出来
let selectedList = [
{
"taskTypeId": 1264,
"taskTypeName": "通用-违规行为",
"orderColumn": 1,
"isDefaultSelect": 0
},
{
"taskTypeId": 62,
"taskTypeName": "诱导消费者",
"orderColumn": 2,
"isDefaultSelect": 1
},
]
this.taskTypeIdarr = this.selectedList.filter((item) => item.isDefaultSelect == 1).map((item) => item.taskTypeId)
//console.log(this.taskTypeIdarr)//[62,,48,...]
JS条件成立数组去除一项否则还原数组
data里面:isContainTestDataOptions: [],
isContainTestDataOptionsOld: [],
接口赋值:
this.isContainTestDataOptions = response.data.sys_dataset_testType
this.isContainTestDataOptionsOld = response.data.sys_dataset_testType
//如果是表格就去除独立测试集 否则就加上
let newArr = JSON.parse(JSON.stringify(this.isContainTestDataOptions))
if (obj.dictLabel == '表格') {
this.isContainTestDataOptions = newArr.filter((item)=>{
return item.dictLabel !== '独立测试集';
})
}else{
this.isContainTestDataOptions = this.isContainTestDataOptionsOld;
}
forEach 只能移除一项,不能同时多项
let arr = [1,2,3,4,5,6,7,8,9];
arr.forEach((item,index,arr) => {
if(item === 3){
arr.splice(index,1)
}
});
console.log('length',arr.length); //length 8
console.log('arr',arr); //arr (8) [1, 2, 4, 5, 6, 7, 8, 9]
splice(可以对Arr进行增删改操作, 这里只写删除方法)
let arr = [1,2,3,4,5,6,7,8,9];
arr.splice(0,2);
// 第一位参数 0: 代表的是起始下标注
// 第二位参数 2: 代表的是删除的位数
//第三个参数为用来替换的值
console.log('length',arr.length);//7
console.log('arr',arr);//[3, 4, 5, 6, 7, 8, 9]
更多推荐
已为社区贡献60条内容
所有评论(0)