JS:封装了​​带有JSON数组的foreach循环

时间:2015-08-27 14:36:47

标签: javascript arrays json loops foreach

我正试图在第二个循环中获得一个foreach循环。 我的代码:

var results = data.d.results;
var boxes= [
   "Nmb1",
   "Nmb2",
   "Nmb3",
   "Nmb4",
   "Nmb5",
   ];

boxes.forEach(function(n){

  var boxesEach = results[0].n.results;                    

  boxesEach.forEach(function(i){
     $("input[value="+'"'+i+'"'+"]").attr('checked', true);
  });
});

我要做的是让例如“Nmb1”替换“n”,这将产生以下“输出代码”:

var boxesEach = results[0].Nmb1.results;

如果我只是将代码放在那里而不是循环中,它就可以工作。

感谢您的帮助和提示。

BTW:我从Sharepoint 2013服务器(使用REST API)通过AJAX获取JSON。

1 个答案:

答案 0 :(得分:4)

您需要像索引一样使用它。这称为括号表示法(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors#Bracket_notation

var boxesEach = results[0][n].results;

你现在正试图使用​​一个Dot符号,你需要实际的属性名称(即Nmb1),而不是一个包含属性名称的变量。