【问题标题】:Set multiple key-value pairs as a value to a key in AngularJS在AngularJS中将多个键值对设置为一个键的值
【发布时间】:2018-03-28 13:06:27
【问题描述】:

我正在尝试形成一个由一个对象组成的数组,该对象的值又是一组对象数组中的一组键值对对象。基本上,我试图将数组中的一组对象(来自请求 JSON)作为值分配给另一个数组中的对象键(parentKey)。请帮我解决以下问题:

来源 - 对象数组:

{
  "Array": [
    {
      "key1": "value1",
      "key2": "value2",
      "key3": "value3"
    },
    {
      "key1": "value1",
      "key2": "value2",
      "key3": "value3"
    },
    {
      "key1": "value1",
      "key2": "value2",
      "key3": "value3"
    }
  ]
}

结果 - 一个对象的数组,其值为一组键值对对象:

{
  "Array":[{
    "parentKey": {
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
        }
    },{
    "parentKey": {
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
        }
    },{
    "parentKey": {
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
        }
    }]
}

【问题讨论】:

  • an array consisting of an object whose value is, in turn, a group of key-value pair of objects from an array of objects 这不是寻求帮助的方式。

标签: angularjs json javascript-objects


【解决方案1】:

只需遍历对象的Array 属性并将parentKey 对象推入新数组即可。最后,您可以将该数组设置为具有属性Array 的新对象。

var input = {
  "Array":[{
    "parentKey": {
      "key1": "value1",
      "key2": "value2",
      "key3": "value3"
     }
    },
    {
     "parentKey": {
      "key1": "value1",
      "key2": "value2",
      "key3": "value3"
     }
    },
    {
    "parentKey": {
      "key1": "value1",
      "key2": "value2",
      "key3": "value3"
     }
  }]
}

var arr = [];

input.Array.forEach((obj)=>{
  arr.push(obj.parentKey);
});
var output = {
  "Array" : arr
};

console.log(output);

【讨论】:

    【解决方案2】:

    应该像这样工作。

    let given={
          "Array":[{
            "parentKey": {
            "key1": "value1",
            "key2": "value2",
            "key3": "value3"
                }
            },{
            "parentKey": {
            "key1": "value1",
            "key2": "value2",
            "key3": "value3"
                }
            },{
            "parentKey": {
            "key1": "value1",
            "key2": "value2",
            "key3": "value3"
                }
            }]
        }
    
        let result={
          "Array":[]
        }
    
        given.Array.forEach((subArr, i)=>{
          result.Array.push(subArr.parentKey)
        })
    
        console.log(result)

    反之亦然:

    let given=
    {
      "Array": [
        {
          "key1": "value1",
          "key2": "value2",
          "key3": "value3"
        },
        {
          "key1": "value1",
          "key2": "value2",
          "key3": "value3"
        },
        {
          "key1": "value1",
          "key2": "value2",
          "key3": "value3"
        }
      ]
    }
    
    
    let result={
      "Array":[]
    }
    
    given.Array.forEach((subArr, i)=>{
      result.Array.push({"parentKey":subArr})
    })
    
    console.log(result)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-24
      • 2018-12-08
      • 1970-01-01
      • 2018-07-28
      • 2013-03-23
      • 1970-01-01
      • 2010-11-17
      相关资源
      最近更新 更多