Hel*_*ire 5 javascript jquery json google-maps
我有一个 JSON feed,它被拉入 every 语句中。我想做的是 for 循环 vari我希望在每个语句中使用这个值。在下面的示例中,for 循环将运行 0, 1, 2。如果i == 1那样的话,我想运行 JSON feed,但仅针对该i = 1值。目前,当 if 语句被触发时,JSON 每个语句都会遍历所有项目 b/c 它的i值从 0 开始。所以console.log我已经到位返回 0, 1, 2。我希望它只返回 1。感谢您的任何帮助。
编辑
\n我的重点是使$.each(data.DATA, function(i, item) {每个i语句中使用的数字i语句中使用等于 for 循环语句中的因此,如果 JSON 文件中有 3 个项目,则仅运行第 1 项。
for (var i = 0; i < 2; i++) {\n if (i == 1) {\n $.getJSON("/json/v2_ilt_map.cfm?feedtype=ILTMAP_SCHEDULED&customerID=1&TrainingObjectParent=3", {}, function(data, i) {\n $.each(data.DATA, function(i, item) {\n console.log(i);\n }\n }):\n }\n}\xe2\x80\x8b\nRun Code Online (Sandbox Code Playgroud)\n
您需要引入一个附加的函数作用域才能完成这项工作。
function checkOnly(i) {
return function(data) {
$.each(data.DATA, function(ii, item) {
if (ii == i) console.log(ii);
});
};
}
for (var i = 0; i < 2; i++) {
if (i == 1) {
$.getJSON("/json/v2_ilt_map.cfm?feedtype=ILTMAP_SCHEDULED&customerID=1&TrainingObjectParent=3", {}, checkOnly(i));
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,传递给的回调$.getJSON是在另一个函数内创建的。通过这样做,循环中检查的变量“i”.each()是循环中“i”的副本for。因此,处理函数有一个固定值可供比较。
| 归档时间: |
|
| 查看次数: |
514 次 |
| 最近记录: |