我遇到了一个 javascript 问题,这让我完全发疯了。我有一个数据集合,正在使用 jQuery .each() 方法对其进行迭代。在 .each() 回调函数内,我将数据推送到数组上。这是代码。
var p = procedure_tool.all();
previousValue = -1;
var proceduresArray = [];
p.each(function(d, proceduresArray) {
proceduresArray.push(d.procedureID);
});
我还尝试将 procedureArray 设为全局(前面没有 var),然后尝试不通过匿名函数传递它。
var p = procedure_tool.all();
previousValue = -1;
proceduresArray = [];
p.each(function(d) {
proceduresArray.push(d.procedureID);
})
数据确实存在(回调内的警报可以正常显示)。有任何想法吗?我觉得这是一个范围问题,但我认为全球化数组可以解决它。
Thanks
两件事情,
1-您不需要将 procedureArray 传递给匿名函数。
2- .each() 中的匿名函数传递了两件事。第一个是元素的索引,第二个是元素。 IE。callback(indexInArray, valueOfElement)
http://http://api.jquery.com/jQuery.each/ http://http://api.jquery.com/jQuery.each/
这应该可以正常工作:
var p = procedure_tool.all();
previousValue = -1;
var proceduresArray = [];
p.each(function(i, d) {
proceduresArray.push(d.procedureID);
});
另一个例子:
var p = $('div');
var pArray = [];
p.each(function(i, el)
{
pArray.push(el);
});
console.log(pArray);
请记住,也可以使用以下方式访问该值this
在匿名函数内。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)