如何将对象插入到对象内部的数组中?

Posted

技术标签:

【中文标题】如何将对象插入到对象内部的数组中?【英文标题】:How to insert an object into an array which is inside an object? 【发布时间】:2022-01-17 17:35:21 【问题描述】:

假设如果我们有这样的数据,我们如何使用点符号或任何东西来更新数组(数据)内的对象 data1 内的数组(数据 2)。

data = [
data1:
    
        a:"1",
        b:"2"
    
]

    // another array(data2 - below) I am having I have to push that array inside 
    data1 as an object
data2 = [
    
        c:"3"
    ,
    
        d:"4"
    
    ]

我想要的回复如下:

    data = [
data1:
    
        a:"1",
        b:"2"
    ,
data2 = [
    
        c:"3"
    ,
    
        d:"4"
    
  ]
]

【问题讨论】:

data.push(data2) 从我读到的内容 I have to push that array inside 推送它就是答案.. 你试过什么,它有效吗?如果不是,出了什么问题? 【参考方案1】:

我没有真正理解你的问题,但我认为这就是你想要的?!

data = 
    data1:
    
        a: "1",
        b: "2"
    

data2 = [
    
        c: "3"
    ,
    
        a: "3"
    ,
    
        d: "4"
    
]

for (var key in data2) 
    for (var key2 in data2[key]) 
        if(data.data1[key2] != null)
            console.log("data.data1 with they key" + key2 + " could have been replaced/updated with " + data2[key][key2]);
        
        console.log("key " + key2 + " has value " + data2[key][key2]);
    

结果:

键 c 的值为 3 带有 keya 的 data.data1 可能已替换/更新为 3 键 a 的值为 3 键 d 的值为 4

编辑:

你为什么不这样做

data["data2"] = data2?

【讨论】:

我编辑了这个问题,这将有助于更好地理解 data 是一个数组,而不是原始帖子中的对象。 @ZsoltMeszaros 是的,谢谢,当我点击并尝试一切时,我得到了这个【参考方案2】:
var array = [];

array['data1'] =  'name': 'a' 

var array2 = [ c: 3 ,  d: 4 ];

array['data2'] = array2;

console.log(array)

输出:

[数据1:名称:'a',数据2:[c:3,d:4]]

【讨论】:

请试试这个【参考方案3】:

我自己试了一下,我得到了解决方案。如果我们必须在对象中创建另一个字段,您只需给出这样的名称

data.dataTwo

这将创建另一个具有新名称的字段,现在如果我们想在其中传输或存储一个数组,我们可以简单地这样做

data.dataTwo = data2

这会将 data2 命名数组分配到一个新字段中,以 dataTwo 的形式给出

【讨论】:

以上是关于如何将对象插入到对象内部的数组中?的主要内容,如果未能解决你的问题,请参考以下文章

如何访问对象内部的数组?

如何避免在对象内部创建对象并使用猫鼬将元素直接推送到快速数组中?

推入 mongoose 对象内部的数组

Vue 2 - 如何从对象内部的数组中获取属性

如何使用jq根据内部数组中的值过滤对象数组?

如何使用 Retrofit Android 解析对象内部的数组