首页 > 解决方案 > 数组的过滤结果

问题描述

我正在使用 react-native 制作一个应用程序,我从一个 api 获取一个数组。它有多个对象,如下面的我试图将所有对象过滤到类别中。

Object {
"artists": Array [
  "A",
  "J",
  "At",
],
"average_user_rating": 4,
"categories": Array [
  Object {
    "id": "KUBdKCFGwV",
  },
  Object {
    "id": "ZTNeo8TEIO",
  },
  Object {
    "id": "O0ogwzULe8",
  },
],
"description": "", 
 },

我试图使用下面的代码过滤它,但我没有成功

    category = "KUBdKCFGwV"
        const filterCate = (category) => {
            return results.filter(result => {
                 if (result.categories.includes(category)) return result.categories;
        })

    };

标签: javascriptjqueryarraysreact-native

解决方案


由于categories属性是对象数组,因此需要比较它们的id属性。您可以使用该some()方法测试是否有任何类别与所需类别匹配。

const filterCate = (category) => results.filter(result => result.categories.some(cat => cat.id == category));

推荐阅读