我是JQuery的新手,从我设法创建循环的例子,我知道这是一个简单的问题,但我需要你的帮助.如何转换$ .each循环:
$.getJSON('db.json', function(data)
{
$.each(data, function(key, val)
{
if(typeof val === 'object')
{
checkObj(key, val, items);
}
});
}
Run Code Online (Sandbox Code Playgroud)
为了循环?我试过了:
for (var i=0; i< data.length; i++)
{
if(typeof val === 'object')
{
checkObj(key, val, items);
}
}
Run Code Online (Sandbox Code Playgroud)
但是如何处理key和val呢?
你非常接近(对于数组).只需添加:
var val;
Run Code Online (Sandbox Code Playgroud)
在顶部然后
val = data[i];
Run Code Online (Sandbox Code Playgroud)
在循环.
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
}
}
Run Code Online (Sandbox Code Playgroud)
但我的问题是:为什么这样做?$.each非常方便,尤其是因为它为key/ i和val变量提供了这个包含好的范围.如果您担心每次迭代都要进行函数调用,请不要这样做.
$.each也具有双重性质:当你给它一个数组时,它会遍历数组元素.但是当你给它一个对象时,它会遍历对象的可枚举属性.两者都很方便.
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |