我对JQuery还是很陌生,从我设法创建循环的示例开始,我知道这是一个简单的问题,但是我需要您的帮助。如何转换$ .each循环:
$.getJSON('db.json', function(data)
{
$.each(data, function(key, val)
{
if(typeof val === 'object')
{
checkObj(key, val, items);
}
});
}
到循环?我试过了:
for (var i=0; i< data.length; i++)
{
if(typeof val === 'object')
{
checkObj(key, val, items);
}
}
但是如何处理key和val?
您非常接近(对于数组)。只需添加:
var val;
在顶部,然后
val = data[i];
在循环。
var i, val;
for (i=0; i< data.length; i++)
{
val = data[i];
if(typeof val === 'object')
{
checkObj(i, val, items);
// ^----- `i`, not `key`, since you used `i` instead of `key` for the loop
}
}
但是我的问题是:为什么这样做?$.each
非常方便,尤其是因为它为key
/i
和val
变量提供了很好的包含范围。如果您担心每次迭代都要调用函数,请不要这样做。
$.each
还有一个双重性质:当给它一个数组时,它会遍历数组元素。但是,当给它一个对象时,它会遍历该对象的可枚举属性。两者都很方便。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句