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]

Logo

前往低代码交流专区

更多推荐