JavaScript数组-推送多维数组

JavaScript数组-推送多维数组,javascript,Javascript,我有这样一个数组: message_list = [ { "Main_body": "test msg", "emp_name": "test", "emp_salary": "5000 USD" } ] 其长度(例如,消息列表。长度)为1 现在我有了另一个类似这样的数组: added_user_data = [ { "PostSharedLog": { userids: "2,4,

我有这样一个数组:

message_list = [
    {
        "Main_body": "test msg",
        "emp_name": "test",
        "emp_salary": "5000 USD"
    }
]
其长度(例如,
消息列表。长度
)为1

现在我有了另一个类似这样的数组:

added_user_data = [
    {
        "PostSharedLog": {
            userids: "2,4,5"
        },
        "created": "2123123"
    }, 
    {
        "PostSharedLog": {
            userids: "3,1"
        },
        "created": "2123147"
    }
]
其长度(
添加了用户数据。长度
)为2

我想将上面的数组
添加的用户数据
推入
消息列表

我尝试在
for
循环中执行此操作,现在由于消息列表的长度为
1
,对于第二次迭代,值不会被推送,因为
消息列表[1]
不存在且未定义。但是我仍然想创建
消息列表[1]
,即使它不存在

如果我执行以下操作:

for(var k =0;<count(added_user_data.length);k++)
{
      message_list[k].PostSharedLog = added_user_data[k].PostSharedLog ; 
}
[{ 
            "Main_body": "test msg",
            "emp_name": "test",
            "emp_salary": "5000 USD", 
            "PostSharedLog": {
                userids: "2,4,5"
            },
            "PostSharedLog": {
                userids: "3,1"
            } 

 }]
第二次迭代根本不追加任何内容

我希望看到以下内容:

for(var k =0;<count(added_user_data.length);k++)
{
      message_list[k].PostSharedLog = added_user_data[k].PostSharedLog ; 
}
[{ 
            "Main_body": "test msg",
            "emp_name": "test",
            "emp_salary": "5000 USD", 
            "PostSharedLog": {
                userids: "2,4,5"
            },
            "PostSharedLog": {
                userids: "3,1"
            } 

 }]
JSON对象不能有重复的键。 JSON对象基本上是一个
映射
,它有
。对象中的每个
键必须是唯一的

无效的JSON 您发布的预期结果永远不可能存在,因为
PostSharedLog
只能存在一次。再次设置它只会更改值

另外,
userids
不是有效的JSON键,它应该始终用
包装

任何人都会告诉你这到底是为什么

{ 
    "Main_body": "test msg",
    "emp_name": "test",
    "emp_salary": "5000 USD", 
    "PostSharedLog": {
        userids: "2,4,5"
    },
    "PostSharedLog": {
        userids: "3,1"
    } 
}
您可能需要做的是:

{
“主体”:“测试消息”,
“员工姓名”:“测试”,
“雇员工资”:{“金额”:5000,“货币”:美元},
“PostSharedLog”:{
“用户标识”:[2,4,5,3,1]
}
}
笔记:
  • 你的名字不一致。真的吗?每一个都是不同的格式
  • 不要缩写
  • 不要将多值字段存储在
    字符串
    类型中,使用实
    数组
    [1,2,3,4]
    而不是
    “1,2,3,4”
  • 不要在
    字符串类型中存储多值字段,请使用真实的
    对象
    {amount:5000,currency:“USD”}
    而不是
    “5000 USD”

  • 这里没有JSON。JSON是用于数据交换的文本符号。如果您处理的是源代码,而不是字符串,那么您就不是在处理JSON。”但我仍然希望创建消息列表[1],即使它不存在。“什么规则适用于此?为什么不加一个呢?什么告诉你不应该加两个?您希望看到的最终结果是什么?此外,此数组不是“多维的”。@T.J.Crowder-我已经编辑了我的问题以添加输出数组和我尝试过的内容。@slimshady:无法创建您最后发布的内容。您有一个数组,其中有一个条目,它是一个对象;该对象有两个同名的属性。不能这样做,对象中只能有一个具有给定名称的属性。上面的对象初始值设定项将进行解析,但最终得到的对象只有后一个
    PostSharedLog
    属性。