【问题标题】:Iterate over Javascript object [duplicate]迭代Javascript对象[重复]
【发布时间】:2014-04-16 12:25:06
【问题描述】:

我有一个 Javascript 对象

var a = {
    "tag1": "Stocks",
    "acctType1": "individual",
    "compare1": "contains",
    "match_name1": "scrapedaccounttype",
    "text1": "dog ",
    "tag2": "Stocks",
    "acctType2": "individual",
    "compare2": "contains",
    "match_name2": "scrapedaccounttype",
    "text2": "cat"
}

我需要使用这个 Javascript 对象来做更多的数学运算,但我不确定我将如何迭代 Javascript 对象。

我可以有任意数量的标签(tag1, tag2, tag3, tag4 ... ) 或类似的其他键,如(acctType1, acctType2, acctType3.... ),所以我需要单独迭代它们并进行一些操作以在不同的函数中使用这些变量。

虽然,对于每一个对我的事业有帮助的东西。请注意,我可以拥有任意数量的 tags(tag1,tag2...)comapare(compare1, compare2, compare3..)

我需要单独处理所有这些。

【问题讨论】:

  • 你搜索的不多吧?
  • 我已经看到这个问题混淆了语法兄弟:)
  • @rahul888 搜索您的问题的标题会带来 许多 个其他问题。如果您对其中一个感到困惑,请寻找其他的...
  • “我有一个 Json 对象或字符串” - No you don't,你有一个对象。所有 JSON 都是字符串,您的问题中没有 JSON。
  • 为您整理了一下,为您的问题感到自豪,您可能会得到更好的答复。

标签: javascript


【解决方案1】:

你所拥有的不是 JSON。它是 JavaScript 定义了一个Object literal,通常称为 JS 对象。 JSON(JavaScript Object Notation)是一个字符串,可以被解析以产生一个对象字面量。

对于您的 JS 对象(具有 ample online documentation),您可以通过以下方式遍历对象键:

var a={"tag1":"Stocks","acctType1":"individual","compare1":"contains","match_name1":"scrapedaccounttype","text1":"dog ","tag2":"Stocks","acctType2":"individual","compare2":"contains","match_name2":"scrapedaccounttype","text2":"cat"}

Object.keys(a).forEach(function (k) {
  console.log(a[k]);
});

或者:

for (var key in a) {
  if (a.hasOwnProperty(key)) {
    console.log(a[k]);
  }
}

【讨论】:

  • 我推荐后一种选择
猜你喜欢
  • 2011-06-18
  • 1970-01-01
  • 1970-01-01
  • 2020-04-23
  • 2017-03-17
  • 1970-01-01
  • 2015-10-08
相关资源
最近更新 更多