如何在javascript对象的每个子数组中添加一对新的(key,value)?

时间:2018-10-02 18:37:56

标签: javascript

让我们想象一下,我有一个这样的杰森:

{
   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
   }
}

1 个答案:

答案 0 :(得分:2)

那呢:

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返回对象所有值的数组。