我有一个javascript问题让我完全疯了 . 我有一组数据,我正在使用jQuery .each()方法迭代 . 在.each()回调函数中,我正在推送数组上的数据 . 这是代码 .
var p = procedure_tool.all();
previousValue = -1;
var proceduresArray = [];
p.each(function(d, proceduresArray) {
proceduresArray.push(d.procedureID);
});
我也试过使proceduresArray全局(前面没有var),然后尝试不通过匿名函数传递它 .
var p = procedure_tool.all();
previousValue = -1;
proceduresArray = [];
p.each(function(d) {
proceduresArray.push(d.procedureID);
})
数据确实存在(回调内的警报显示正常) . 有任何想法吗?我觉得这是一个范围问题,但我认为全局化数组会修复它 .
谢谢
1 回答
两件事情,
1-您无需将proceduresArray传递给匿名函数 . 2- .each()中的匿名函数传递了2个东西 . 第一个是元素的索引,第二个是元素 . 即
callback(indexInArray, valueOfElement)
http://http://api.jquery.com/jQuery.each/这应该工作得很好:
另一个例子:
请记住,也可以使用匿名函数中的
this
来访问该值 .