javascript - 如何从数组中删除匹配值以外的对象?
问题描述
我正在尝试根据不匹配的值从数组中删除对象。
这是我的项目数组:
var items = [
{"id":"88","name":"Lets go testing"},
{"id":"99","name":"Have fun boys and girls"},
{"id":"108","name":"You are awesome!"}
];
var arr=["88","108"];
在这里,我可以根据匹配的值从数组中删除对象。但是我想保持匹配的值对象并且需要删除不匹配的对象。
这就是我从数组中删除匹配对象的方式。
for(let i in arr) {
items = items.filter(function(item) {
return item.id !== arr[i];
});
}
解决方案
用于indexOf
确定发生情况。
var items = [
{"id":"88","name":"Lets go testing"},
{"id":"99","name":"Have fun boys and girls"},
{"id":"108","name":"You are awesome!"}
];
var arr=["88","108"];
const filteredItems = items.filter(item => {
if (arr.indexOf(item.id)>-1) {
return item
}
})
console.log(filteredItems)
推荐阅读
- android - Appcelerator Ti.map 选定的注释图像
- c++ - 将函数和成员函数都传递给模板方法
- java - 拥有多个按钮会使我的应用程序崩溃
- angular - 重新加载recaptcha2 Angular 6
- django - Django rest 框架 - 基于单个类的视图绑定到多个 url
- python - Flask:将 requests.get API 数据保存到 sqlite 数据库
- spring-cloud-stream - 未找到适用于 kafka 的 Spring Cloud Stream 应用程序图像查看器
- javascript - 不知道我的代码有什么问题
- javascript - 如何在我的循环中编写“if”条件得到语法错误并更新列表中的一行
- c - malloc/struct 指针数组段错误