将Iterator变量添加到对象名称

时间:2015-07-28 09:23:10

标签: javascript

我有以下for循环:

nth-child

我希望对象名称等于for (var i = 2; i < 7; i++) { if (cookieJSON.Cases.mdata+i.toString() == undefined) return i; } cookieJSON.Cases.mdata2cookieJSON.Cases.mdata3,依此类推。

我怎样才能让它发挥作用?

3 个答案:

答案 0 :(得分:0)

使用括号表示法:

for (var i = 2; i < 7; i++) {
     if (cookieJSON.Cases["mdata" + i] == undefined)
          return i;
}

在JavaScript中,您可以使用点表示法和属性名称文字(foo.bar)或括号表示法和属性名称​​ string *(foo["bar"]来访问属性名称)。字符串可以是任何表达式的结果,包括字符串连接。

*在ES6中,括号中的内容也可以是Symbol,但这与您的问题无关。

答案 1 :(得分:0)

您可以将键放在方括号([])之间,以便从字符串中形成它:

cookieJSON.Cases['mdata' + i]

答案 2 :(得分:0)

Property Accessors

  

属性访问器通过使用点表示法或括号表示法提供对对象属性的访问。

<强>语法

object.property
object["property"]

E.g: -

for (var i = 2; i < 7; i++) {
      if (cookieJSON.Cases["mdata" + i] == undefined)
          return i;
}

此处提供更多信息:Dot Notation vs Brackets