【问题标题】:How to Change value of nested array objects in javascript如何在javascript中更改嵌套数组对象的值
【发布时间】:2021-02-19 09:47:33
【问题描述】:

我想根据 id 更改检查值,请帮我解决这个问题。我将传递一个 id,它必须在 sub_cat 中的每个对象中匹配,如果找到任何结果,则更改检查值

  "data": [
            {
                "id": "1",
                "name": "Electrical Repair & installation",
                "parent_id": "0",
                "image": "assets/images/Group66.png",
                "checked": "false",
                "sub_cat": [
                    {
                        "id": "7",
                        "name": "Sockets",
                        "parent_id": "1",
                        "image": "assets/images/Group66.png",
                        "checked": "false"
                    },
                    {
                        "id": "8",
                        "name": "Fans",
                        "parent_id": "1",
                        "image": "assets/images/Group67.png",
                        "checked": "true"
                    }
                ]
            },
         
           
        ]
  

【问题讨论】:

  • 请添加您的尝试。还要添加预期的输出。

标签: javascript arrays react-native object


【解决方案1】:
yourObject.data[0].find(item => item.id === id_your_looking_for).checked = "true"

Ofc,您可以将其包装在函数中并添加检查是否找到项目,但我将其留给您 :)

【讨论】:

  • 对象中会有多个对象和多个数组
  • 还有两个选中的键我想更改 sub_cat 数组的
  • 所以你需要找出一个规则,哪个 ID 会改变,然后将我的代码应用到与规则匹配的 ID。
【解决方案2】:

正如您所说,您将根据一些 id 进行检查。我添加了一个变量为chkID 以检查sub_cat parent_id。您可以根据您的要求进行检查。

let chkID =1;
data.map(res => res.sub_cat.find((subItem) =>{ if(subItem.parent_id==chkID){
             subItem.checked = true;
             }}))

【讨论】:

    猜你喜欢
    • 2021-10-29
    • 2021-11-27
    • 2021-12-29
    • 1970-01-01
    • 2021-11-28
    • 2020-12-20
    • 1970-01-01
    • 2017-09-22
    • 1970-01-01
    相关资源
    最近更新 更多