所以这让我很头疼了一段时间:

{
  "gravetender": {
    "musicTokens": 2
  },
  "Bob-chan": {
    "musicTokens": 3
  }
}


我只是想将所有musicTokens设置为5,无论名称如何。我已经尝试过forEachfor in
这是现在更改单个用户的musicTokens的原因:

client.profiles [message.author.username].musicTokens = 5;


我的client.profiles是我的JSON,message.author.username获得名称,而.musicTokens定位变量。

我正在寻找类似client.profiles.*.musicTokens = 5的东西

谢谢

最佳答案

使用Object.values()Array#forEach()



const client = {
  "profiles": {
    "gravetender": {
      "musicTokens": 2
    },
    "Bob-chan": {
      "musicTokens": 3
    }
  }
}

Object.values(client.profiles).forEach(profile => {
  profile.musicTokens = 5
})

console.log(client.profiles)

08-08 02:21