Javascript 将For循环参数传入每个语句
我有一个JSON提要,它正在拉入一个each语句。我想做的是for循环varJavascript 将For循环参数传入每个语句,javascript,jquery,json,google-maps,Javascript,Jquery,Json,Google Maps,我有一个JSON提要,它正在拉入一个each语句。我想做的是for循环varI我想在每条语句中使用这个值。在下面的示例中,for循环将运行0、1、2。如果i==1,则我希望运行JSON提要,但仅针对i=1值。当前,当if语句被触发时,JSON each语句将运行所有的b/c项,它的i值从0开始。因此,我准备的console.log返回0、1、2。我希望它只返回1。谢谢你的帮助 编辑 我的重点是使$。each(data.data,function(i,item){each语句中的i使用i在for循
I
我想在每条语句中使用这个值。在下面的示例中,for循环将运行0、1、2。如果i==1
,则我希望运行JSON提要,但仅针对i=1
值。当前,当if语句被触发时,JSON each语句将运行所有的b/c项,它的i
值从0开始。因此,我准备的console.log
返回0、1、2。我希望它只返回1。谢谢你的帮助
编辑我的重点是使
$。each(data.data,function(i,item){
each语句中的i
使用i
在for循环语句中等于的数字。因此,如果JSON文件中有3个项目,则只运行项目1
for (var i = 0; i < 2; i++) {
if (i == 1) {
$.getJSON("/json/v2_ilt_map.cfm?feedtype=ILTMAP_SCHEDULED&customerID=1&TrainingObjectParent=3", {}, function(data, i) {
$.each(data.DATA, function(i, item) {
console.log(i);
}
}):
}
}
for(变量i=0;i<2;i++){
如果(i==1){
$.getJSON(“/json/v2_ilt_map.cfm?feedtype=ILTMAP_SCHEDULED&customerID=1&TrainingObjectParent=3”,{},函数(数据,i){
$.each(data.data,function(i,item){
控制台日志(i);
}
}):
}
}
用于(变量i=0;i<2;i++){
var x=i;
如果(i==1){
$.getJSON(“/json/v2_ilt_map.cfm?feedtype=ILTMAP_SCHEDULED&customerID=1&TrainingObjectParent=3”,{},函数(数据,i){
$.each(data.data,函数(n,项){
如果(n==x){
控制台日志(n);
break;//如果需要,可以使用break
}
}
}):
break;//如果需要,可以使用break
}
} 您需要引入一个额外的功能范围来实现此功能
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));
}
}
仅功能检查(i){
返回函数(数据){
美元(数据、数据、功能(二、项目){
if(ii==i)console.log(ii);
});
};
}
对于(变量i=0;i<2;i++){
如果(i==1){
$.getJSON(“/json/v2_ilt_map.cfm?feedtype=ILTMAP_SCHEDULED&customerID=1&TrainingObjectParent=3”,{},checkOnly(i));
}
}
这里,传递给
$的回调在另一个函数中创建。通过这样做,中检查的变量“i”。each()
循环是“i”的副本因此,处理程序函数具有一个固定值来比较.O.P/>这是有希望的。给我一个时间来测试。@ HelpSpReMeME是一个常见的问题。JavaScript变量范围只在函数级引入的事实是那些用于java、C++等的绊脚石。.然而,由于JavaScript具有真正有效的闭包,因此这是一个很容易克服的障碍。
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));
}
}