【问题标题】:How to Fetch data of specific Item only from array in react native如何在本机反应中仅从数组中获取特定项目的数据
【发布时间】:2021-11-23 16:54:52
【问题描述】:

我的数据看起来像这样

这是子类别列表:

{
    "statusCode": 200,
    "status": "SUCCESS",
    "responseContents": [
        {
            "webimage": [],
            "appimage": [],
            "_id": "6155c2c77f31f9b79ba4273b",
            "Categories": "Tools & Machineries",
            "Subcategories": [
                "Power & Hand Tools ",
                "Plant Cutting tools",
                "All Tools & Home Improvement",
                "Tool Storage & Organization",
                "Tool Organisers",
                "Pneumatic Tools",
                "Carbide Cutting Tools",
                "Tool Storage & Organization",
                "Tools & Workshop Equipment",
                "TOOLS & EQUIPMENTS",
                "Hand Tools"
            ]
        },
        {
            "webimage": [],
            "appimage": [],
            "_id": "6155c2c77f31f9b79ba4273c",
            "Categories": "Furniture",
            "Subcategories": [
                "Wooden Furniture",
                "Office Furniture",
                "Kitchen Furniture",
                "Modular Office Furniture",
                "Industrial Furniture",
                "Steel Furniture",
                "Living Room Furniture",
                "|Storage and Display Furniture",
                "Entryway Furniture",
                "Inflatable Furniture",
                "Patio Furniture & Accessories",
                "Storage and Display Furniture",
                " Office & Commercial Furniture "
            ]
        },
        {
            "webimage": [],
            "appimage": [],
            "_id": "6155c2c77f31f9b79ba4273d",
            "Categories": "Safety & Security",
            "Subcategories": [
                "Industrial Safety Equipments",
                "Safety Equipment",
                "Fire Fighting Equipments",
                "Traffic Safety Equipment",
                "Marine Safety Equipment",
                "Welding Safety Accessories",
                "Work Safety Equipment & Gear",
                "PERSONAL PROTECTION EQUIPMENTS",
                "General Safety Equipment ",
                " Fire Fighting & Prevention Products ",
                "SAFETY MATERIALS (PPE)"
            ]
        },
        {
            "webimage": [],
            "appimage": [],
            "_id": "6155c2c77f31f9b79ba4273e",
            "Categories": "Lighting",
            "Subcategories": [
                "LED COMMERCIAL LIGHTING",
                "Panel Light",
                "Ceiling Lights",
                "Indoor Lighting ",
                "Flood Lights",
                "Lighting Fixtures ",
                "Lights & Fittings",
                " Indoor Lights & Lighting Accessories"
            ]
        }
        ...
    ]
}

现在我只想获取特定类别的数据。例如,我只想获取工具和机械类别的数据。我该怎么做,请帮忙

【问题讨论】:

  • 这不是代码编写服务。展示你的尝试。

标签: javascript arrays react-native


【解决方案1】:

const data = {"statusCode":200,"status":"SUCCESS","responseContents":[{"webimage":[],"appimage":[],"_id":"6155c2c77f31f9b79ba4273b","Categories":"Tools & Machineries","Subcategories":["Power & Hand Tools ","Plant Cutting tools","All Tools & Home Improvement","Tool Storage & Organization","Tool Organisers","Pneumatic Tools","Carbide Cutting Tools","Tool Storage & Organization","Tools & Workshop Equipment","TOOLS & EQUIPMENTS","Hand Tools"]},{"webimage":[],"appimage":[],"_id":"6155c2c77f31f9b79ba4273c","Categories":"Furniture","Subcategories":["Wooden Furniture","Office Furniture","Kitchen Furniture","Modular Office Furniture","Industrial Furniture","Steel Furniture","Living Room Furniture","|Storage and Display Furniture","Entryway Furniture","Inflatable Furniture","Patio Furniture & Accessories","Storage and Display Furniture"," Office & Commercial Furniture "]},{"webimage":[],"appimage":[],"_id":"6155c2c77f31f9b79ba4273d","Categories":"Safety & Security","Subcategories":["Industrial Safety Equipments","Safety Equipment","Fire Fighting Equipments","Traffic Safety Equipment","Marine Safety Equipment","Welding Safety Accessories","Work Safety Equipment & Gear","PERSONAL PROTECTION EQUIPMENTS","General Safety Equipment "," Fire Fighting & Prevention Products ","SAFETY MATERIALS (PPE)"]},{"webimage":[],"appimage":[],"_id":"6155c2c77f31f9b79ba4273e","Categories":"Lighting","Subcategories":["LED COMMERCIAL LIGHTING","Panel Light","Ceiling Lights","Indoor Lighting ","Flood Lights","Lighting Fixtures ","Lights & Fittings"," Indoor Lights & Lighting Accessories"]}]};

function getBySubCategory(dataSet, category){
  return dataSet.find(o => o.Categories===category);
}

const dataSet = data.responseContents;
console.log(getBySubCategory(dataSet, 'Tools & Machineries'));
console.log(getBySubCategory(dataSet, 'Safety & Security'));
.as-console-wrapper { max-height: 100% !important; top: 0 }

【讨论】:

  • 谢谢,但未定义即将到来。那个 === 类别有什么用
  • 它用于匹配列表Category 与搜索类别,当您输入无效的Category 键时,您将得到未定义。尝试运行上面的例子
  • 如果我像上面那样定义了数据,那么它工作正常,但是当我设置我的 API 响应时它然后它给出未定义 - 我的状态是这样的 = const [CategoryForSub, setCategoryForSub] = useState('') ;,我是这样设置的 - setCategoryForSub(response);
  • 您是否包括此行const dataSet = serverResponseData.responseContents;,您可以在上面添加代码的地方分享您的代码。
  • 谢谢兄弟,非常感谢.. 你做到了。也谢谢你@Ouroborus。印度人总是在我身边..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-12
  • 2019-12-10
  • 2021-12-11
  • 1970-01-01
  • 1970-01-01
  • 2020-11-22
  • 2021-03-03
相关资源
最近更新 更多