【问题标题】:How to use two arrays to form an object in javascript?javascript中如何使用两个数组组成一个对象?
【发布时间】:2016-10-21 09:09:56
【问题描述】:

我有两个对象数组:

array1 = [Object, Object, Object]
array2 = [Object, Object, Object]

array1 中的每个 Object 是:

{property1 : "somevalue"}

在数组2中:

{property1 : Object, property2 : "somevalue"}

其中 Object 有自己的一组属性。因此两个数组的结构不同。

我需要附加这两个数组以形成一个类似于 json 格式的数组。 最终结构应该如下所示:

{

"root1" : array1, "root2" : 数组2

}

请帮忙。 我想要的最终 json 看起来像这样:

{ 
  "root1" : [
  {property1 : "somevalue"},
  {property1 : "somevalue"},
  {property1 : "somevalue"}
             ],

  "root2" : [
  {property1 : Object, property2 : "somevalue"},
  {property1 : Object, property2 : "somevalue"},
  {property1 : Object, property2 : "somevalue"}
             ]
}

如何在运行时创建这个对象?

【问题讨论】:

  • 类似json的结构?一个对象!
  • 给我们两个数组的 JSON 格式
  • @NinaScholz 感谢您的建议 :)
  • 你可以直接使用最后一个例子。它有什么问题?
  • 你的更新比解释更混乱

标签: javascript arrays json append javascript-objects


【解决方案1】:

您可以在 Array 上使用 push() 方法,如下所示

var mergedArrays = [];
mergedArrays.push(array1);
mergedArrays.push(array2);
JSON.stringify(mergedArrays);

【讨论】:

    【解决方案2】:

    这是带有数组的新对象:

    var myArrays{
    
    "root1" : array1,
    "root2" : array2
    
    }
    

    让我们将其转换为 JSON 字符串

    var myJson = JSON.stringify(myArrays);
    

    【讨论】:

      【解决方案3】:

      你必须这样做:

      var arr1 = [{prop: "Value 1"}, {prop: "Value 2"}, {prop: "Value 3"}];
      
      var arr2 = [{prop: "Value A", prop1: "Value Z"}, {prop: "Value B", prop1: "Value Y"}, {prop: "Value C", prop1: "Value X"}];
      
      //as object
      var result = { root1: arr1, root2: arr2 };
      
      // as array
      var mergedArrays = [].concat(arr1, arr2);
      document.write(JSON.stringify(result));
      console.log("Result", result)

      【讨论】:

        猜你喜欢
        • 2018-11-17
        • 2012-03-04
        • 2016-11-12
        • 1970-01-01
        • 2022-01-04
        • 2020-03-29
        • 2023-01-10
        • 1970-01-01
        相关资源
        最近更新 更多