首页 > 解决方案 > JavaScript如何从数组中过滤掉一个元素

问题描述

我在这里想念什么?有一个与条件匹配的“id”,但它仍然过滤与前一个相同的数组,而不删除该特定的“id”。粉丝的事情,如果我删除 not 运算符,它会过滤唯一符合条件的项目('id')。过滤器与非运算符的工作方式不同吗?为了清楚起见,我上传了控制台的屏幕截图。

let removeFromLocalStorage = (id) =>{
    console.log(id);
    let items = accessItem();
    console.log(items);
    items = items.filter((item) =>{
        if(item.ids !== id){
            return item
        }      
    })
    console.log(items);
    localStorage.setItem('list', JSON.stringify(items));
    
}

控制台日志

标签: javascript

解决方案


从此处提供的过滤方法文档中: The filter() method creates an array filled with all array elements that pass a test

在您的示例中,您应该只返回要测试的案例:

items = items.filter((item) => item.ids !== id)

推荐阅读