【发布时间】:2019-05-03 11:05:01
【问题描述】:
我在互联网上遇到了一个小问题,我无法弄清楚或找到解决方案,至少我知道。我想根据数组中未定义数量的值过滤 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循环来做,但没有成功。任何想法?提前非常感谢。
【问题讨论】:
-
那不应该工作,因为你说
categories是一个普通的对象。那些没有filter。categories真的是一个数组吗? -
它不应该以另一种方式工作:
_id与具有id的数据也不匹配。 -
也许我切换了类别。我从其他一些代码中得到它并且它正在工作,我只是将该对象放在上面作为示例。而且身份证是错的。它应该是“_id”
标签: javascript arrays object filter ecmascript-6