【问题标题】:How to modify each JSON object javascript如何修改每个 JSON 对象 javascript
【发布时间】:2016-11-06 03:08:11
【问题描述】:

我想修改cooldown对象内的每个JSON值

{
  "cooldown":{
    "user": 1, // This
    "user2": 0 // This
  }
}

在 Javascript 中使用 for 语句。

我研究了几个小时,只能在 [] 块内找到一个 for。

编辑

这是我尝试过的:

for (var i in db["cooldown"]) {
  i = time.ms;
}

【问题讨论】:

  • 请添加一些例子来说明你的问题。
  • 这个不清楚。您当前的 JSON 是什么,您想要的预期结果是什么。
  • 我相信您实际上要问的是如何遍历对象中的每个键/值对。如果是这样的话,也许这篇文章会有所帮助 - stackoverflow.com/questions/7241878/…
  • 你的解决方案很接近 - 但你得到的 i 变量不是价值 - 它是关键。所以你需要做类似db["cooldown"][i]
  • 嗯,好的,再次感谢您! :)

标签: javascript


【解决方案1】:

您可以使用Object.keys() 返回键数组,然后使用forEach() 循环该数组并返回每个值。

var data = {
  "cooldown": {
    "user": 1, // This
    "user2": 0 // This
  }
}

Object.keys(data.cooldown).forEach(function(e) {
  console.log(data.cooldown[e]);
})

你也可以使用for...in循环

var data = {
  "cooldown": {
    "user": 1, // This
    "user2": 0 // This
  }
}

for (var k in data.cooldown) {
  console.log(data.cooldown[k]);
}

【讨论】:

  • 这需要 JQuery 吗?
  • 所以我试图创建一个 if 语句来检查一个值是否等于零,它完全忽略了这一点。您希望我在编辑中发布我的代码还是提出新问题?
  • 我在小提琴中添加了一条评论来解释我想要做什么。
  • 它的 -1 和 5 从不归零。
  • 所以把if语句改成== -1?
【解决方案2】:

也可以使用for..in方法循环遍历对象

var jsonObj = {
    "cooldown":{
    "user": 1,
    "user2": 0
  }
};


for(var key in jsonObj["cooldown"]){
    jsonObj["cooldown"][key] = "modified value";
}

console.log(jsonObj);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-16
    • 2016-02-11
    • 1970-01-01
    • 2017-08-19
    • 2020-05-12
    相关资源
    最近更新 更多