迭代Javascript对象

时间:2014-03-12 11:39:02

标签: javascript

我有一个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..)

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

1 个答案:

答案 0 :(得分:3)

你拥有的不是 JSON。它是定义Object literal的JavaScript,通常称为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]);
  }
}
相关问题