关于previous post,我很难弄清楚在哪里为我正用于匹配 JSON 返回的数组设置循环闭包。
以下是我修改后的代码:
$(function()
{
var $reports = $('#repOut');
var techCount = 0;
var repCount = 0;
techs = ["Name_1", "Name_2"];
function counts(tech, count)
{
this.tech = tech;
this.count = count;
}
$.ajax(
{
type: 'GET',
url: 'https://api.trello.com/1/board/BOARD_ID/checklists?checkItem_fields=name,state&key=MY_KEY&token=MY_TOKEN',
dataType: 'jsonp',
success: function(data)
{
$.each(data, function(i, repName)
{
var items = repName.checkItems;
for (i = 0; i < items.length; i++)
{
for (var n = 0; n < techs.length; n++)
{
techName = techs[n];
}
var rex = new RegExp(techName, "i");
var num = /\(\d+\)/;
if (rex.test(items[i].name))
{
var repFull = items[i].name;
repName = repFull.replace(/\.*$|-.*$/, "");
if (num.test(items[i].name))
{
var repNum = parseInt(/\d+/.exec(items[i].name), 10);
repCount += repNum;
}
}
}
});
var techCount = new counts(techName, repCount);
$reports.after("<table border =1 id='reports'><tr><th>Tech</th><th>Count</th></tr><tr><td>" + techCount.tech + "</td><td>" + techCount.count + "</td></td></tr></table>");
}
});
});
循环仅返回Name_2
的 JSON 值(但这一次,它会正确添加并显示在我的网页上)。我需要在techs
数组中获取 EACH 名称的这些值并输出它们。我已经阅读了很多关于闭包的网站/文章/答案,我无法理解我的代码放在哪里/怎么把它放在我的代码中!
任何人都可以帮助提供一个关闭我的代码的示例吗?我是否正确怀疑需要关闭?
答案 0 :(得分:1)
感谢所有反馈!我想我只需要一个人&#34;看着我的肩膀&#34;帮我看看明显的问题。以下是带有我评论的固定代码。
/*Start tableView */
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath] ;
if (cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.textLabel.text = [tableData objectAtIndex:indexPath.row];
UILabel *label = (UILabel *)[cell.contentView viewWithTag:@"H"];
label.text = @"Demo";
label = (UILabel *)[cell.contentView viewWithTag:@"h2"];
label.text = @"Demo2";
return cell;
}