【问题标题】:Add new attribute for the JSON Array List [duplicate]为 JSON 数组列表添加新属性 [重复]
【发布时间】:2022-01-03 13:26:40
【问题描述】:

我需要为 JSON 对象添加新属性。目前我的代码如下

 let abc  =  this.dataSource.data;
            console.log(abc);

控制台日志数据集如下

{
    "result": [
        {
            "id": 210,
            "temp": "210",
            "city": "colombo",
            "status": "waiting"
        },
        {
             "id": 211,
            "temp": "212",
            "city": "colombo2",
            "status": "waiting"
        },
    ]
}

我需要为 JSON 对象添加新属性。我期望的 JSON 对象如下所示

  {
    "result": [
        {
            "id": 210,
            "temp": "210",
            "city": "colombo",
            "status": "waiting"
        "select": false,
        },
        {
             "id": 211,
            "temp": "212",
            "city": "colombo2",
            "status": "waiting",
            "select": false,
        },
    ]
  }

我试着用这个来做,

abc = {...abc,select:false}

但它不起作用。我是怎么做到的

【问题讨论】:

    标签: javascript json


    【解决方案1】:

    只需使用map:

    const data = {
    "result": [
        {
            "id": 210,
            "temp": "210",
            "city": "colombo",
            "status": "waiting"
        },
        {
             "id": 211,
            "temp": "212",
            "city": "colombo2",
            "status": "waiting"
        },
    ]
    }
      
      function formatData(data){
        return data.result.map(res=> ({...res, select: false}))
      }
    
    console.log(formatData(data))

    【讨论】:

    • 非常感谢
    【解决方案2】:

    您必须指定正确的路径并遍历结果数组:

    for (let i=0; i < abc.result.length; i++) {
        abc.result[i].select = false
    } 
    

    【讨论】:

      猜你喜欢
      • 2017-02-10
      • 1970-01-01
      • 2021-11-09
      • 2018-08-19
      • 2019-02-16
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多