javascript - 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));
}
解决方案
从此处提供的过滤方法文档中:
The filter() method creates an array filled with all array elements that pass a test
在您的示例中,您应该只返回要测试的案例:
items = items.filter((item) => item.ids !== id)
推荐阅读
- vim - 不是编辑器命令:NERDTreeTabsToggle
- selenium - Selenium 通过 ID 获取元素,该 ID 在另一个没有 Xpath 的元素内
- angular - 如何在 Angular 和 Jsonp 中使用 HERE Geocoder Autocomplete API?
- javascript - 等效于 Vue 从带有香草 javascript 的按钮中取消选择单选按钮
- javascript - LG TV WebOS Video Exit Fullscreen on JavaScript
- html - 如何以不同于 CSS 中的常规链接的方式引用“锚链接”
- python - QSlider的定制
- google-analytics - Google Analytics 4 中用于 Ajax 搜索的自定义事件
- html - 地图占据页面的整个高度
- wordpress - 如何根据用户登录或不显示具有给定类别的 WooCommerce 产品