用我的值检查json数组,否则执行其他操作

时间:2013-04-18 04:12:51

标签: php javascript jquery

考虑我有一个像这样的json数组

["map14","map20","map21","map22","map23","map24","map25","map31","map32","map33","map34","map35","map36","map37","map40","map41","map42","map46","map49","map50"]

使用这个json数组我需要检查我传递的值是否存在需要做一些操作或者其他一些操作....

javascript代码:

function pop(e,id) { 
$.getJSON( 'layoutcheck.php', { some_get_var: 1 }, function(output){
    var i=0, total = output.length;
    for ( i = 0; i < total; ++i ) {
if(isArray(output[i]==id)) {

// do soome stuff if the value exists in the database
      }
else{
// if not exists some other operation
 }
    }
});
}
</script>

layoutcheck.php将从数据库中获取信息并创建一个json数组..

但代码无法显示输出..请纠正我..

感谢

2 个答案:

答案 0 :(得分:0)

isArray()不会检查对象是否在数组中,但是对象是否为数组。

这意味着会检查output[i]==idtruefalse)。 它们总是不是数组;这意味着你总是会去条件的else部分。

您可以尝试使用以下内容:

if(output.indexOf(id) != -1) {
    // do soome stuff if the value exists in the database
}
else{
    // if not exists some other operation
}

而不是for循环。

答案 1 :(得分:0)

如果您想知道数组id中是否有output,请使用Javascript的内置indexOf()方法:

if (output.indexOf(id) != -1) {
    // do soome stuff if the value exists in the database
} else {
    // if not exists some other operation
}

您编写它的方式,您将为else中与output不匹配的每个值执行id子句。