javascript - 根据数组中的值过滤对象

标签 javascript arrays object filter ecmascript-6

我遇到了一个小问题,我无法在互联网上找出或找到解决方案,至少我知道。我想根据数组中未定义的值数量过滤 javascript 中的对象。我有一个这样的对象:

categories = { "category1: {"_id": "1234"}, "category2: {"_id": "4567"}, ... };

我还有一个包含 ID 值的数组,如下所示:

catArray = ["1234", "4567", ... ]

现在我想从类别对象中过滤出所有类别,匹配数组中的 ID。我设法过滤了单个数组值的类别,但不是全部。它是这样工作的:

const categoriesFilter = categories.filter(cat => {
        return cat._id == catArray[0];
});

到目前为止它正在工作。但现在我想匹配数组中所有可能的 ID 值的类别。我试着用 for 循环来做,但没有成功。任何想法?非常感谢。

最佳答案

例如,类别应该是一个对象数组。然后你可以使用 .filter() :

let categories = [{ "id": "1234" }, { "id": "4567" }];
let catArray = ["1234", "45674"];

const categoriesFilter = categories.filter(cat => {
  return catArray.includes(cat.id);
});

console.log(categoriesFilter);

关于javascript - 根据数组中的值过滤对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53571979/

相关文章:

javascript - 在 Javascript 中使用 call 和 apply 的上下文?

javascript - 当我在 Javascript 中为对象设置方法时,如何处理从控制台返回的 'undefined'?

ruby - 我怎样才能一次压缩数组中的每一行?

Javascript `this` 与 Python `self` 构造函数

ios - 无法将 NSDictionary 参数写入自定义对象

c++ - 如何动态添加对象

javascript - 如何在javascript中等待 meteor 调用响应然后执行其他语句?

sql - 在 Oracle 中搜索 JSON 数组

c - 我的时间表计划中的任何建议

c# - RSA 加密 : moving code from js to C#