如何向javascript对象的每个子数组添加一对新的(键、值)?

如何向javascript对象的每个子数组添加一对新的(键、值)?,javascript,Javascript,假设我有一个Json,如下所示: { 0: { id: "1", usr: "pimba" }, 1: { id: "2", usr: "aloha" }, ... 100: { id: "3", usr: "pruu" } } 我需要为每个子阵列添加一个新的(键、值)对。是否可以不使用foreach?可能是某种已经对每个子阵列应用了某种功能的函数? 我需要在usr:value之后

假设我有一个Json,如下所示:

{
   0: {
      id: "1",
      usr: "pimba"
   },
   1: {
      id: "2",
      usr: "aloha"
   },
   ...
   100: {
      id: "3",
      usr: "pruu"
   }
}
我需要为每个子阵列添加一个新的(键、值)对。是否可以不使用foreach?可能是某种已经对每个子阵列应用了某种功能的函数?
我需要在
usr:value
之后添加(key:value)

OBS:在本例中,我要添加的集合(键、值)将始终相同

我需要的结果是:

{
   0: {
      id: "1",
      usr: "pimba"
      synced: true
   },
   1: {
      id: "2",
      usr: "aloha"
      synced: true
   },
   ...
   100: {
      id: "3",
      usr: "pruu"
      synced: true
   }
}
那么这个呢:

let a = {
    0: {
       id: "1",
       usr: "pimba"
    },
    1: {
       id: "2",
       usr: "aloha"
    },
    3: {
       id: "3",
       usr: "pruu"
    }
 }

 let b = Object.values(a).map(newKeyValue => {
    newKeyValue.newKey = "newValue"
    console.log(newKeyValue)
 })
首先,你所谓的“数组”实际上是一个“对象”

对象有两种非常酷的方法

Object.keys
返回对象的所有键的数组

Object.values
返回对象所有值的数组。

这是怎么回事:

let a = {
    0: {
       id: "1",
       usr: "pimba"
    },
    1: {
       id: "2",
       usr: "aloha"
    },
    3: {
       id: "3",
       usr: "pruu"
    }
 }

 let b = Object.values(a).map(newKeyValue => {
    newKeyValue.newKey = "newValue"
    console.log(newKeyValue)
 })
首先,你所谓的“数组”实际上是一个“对象”

对象有两种非常酷的方法

Object.keys
返回对象的所有键的数组



Object.values
返回对象所有值的数组。

哪个子数组?子数组在哪里?0、1、2不是一组关联数组?它们都在一个数组中,对吗?所以它们是子阵列。没有?听起来你好像把一些东西和php混在一起了。您所拥有的对象的属性是另一个对象。@克里斯,我猜您是对的。谢谢你的解释!什么子数组?您的子数组在哪里?
0,1,2
不是一组关联数组?它们都在一个数组中,对吗?所以它们是子阵列。没有?听起来你好像把一些东西和php混在一起了。您所拥有的对象的属性是另一个对象。@克里斯,我猜您是对的。谢谢你的解释!谢谢你的解释!如果要在
usr:value
之后添加
synched:true
,请更改
a
。它在同一个地方工作吗?现在就试试。嘿@PlayHardGoPro,我不知道你剩下的代码是什么样子,不知道什么是
synched:true
。。。你可以
编辑你的问题和其他代码,我来看看。顺便说一句,如果你觉得我的答案有帮助,你可以把它标记为正确答案我用我需要的最终结果更新了问题。非常感谢。好吧,@PlayHardGoPro那也一样
newKeyValue.synced=true
;)试试看,让我们知道。@PlayHardGoPro,太棒了,伙计!:)很高兴你成功了!现在,别忘了玩
Object.keys()
。)此外,除了
.map()
,您还可以签出
.filter()
.reduce()
;)谢谢你的解释!如果要在
usr:value
之后添加
synched:true
,请更改
a
。它在同一个地方工作吗?现在就试试。嘿@PlayHardGoPro,我不知道你剩下的代码是什么样子,不知道什么是
synched:true
。。。你可以
编辑你的问题和其他代码,我来看看。顺便说一句,如果你觉得我的答案有帮助,你可以把它标记为正确答案我用我需要的最终结果更新了问题。非常感谢。好吧,@PlayHardGoPro那也一样
newKeyValue.synced=true
;)试试看,让我们知道。@PlayHardGoPro,太棒了,伙计!:)很高兴你成功了!现在,别忘了玩
Object.keys()
。)此外,除了
.map()
,您还可以签出
.filter()
.reduce()
;)