2013-04-18 54 views
0

認爲我有一個JSON數組這樣檢查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數組..

但代碼未能顯示輸出..請糾正我..

感謝

+0

那麼問題是什麼?更新:好吧,你剛剛更新你的問題。 – Rishabh 2013-04-18 04:14:30

+0

但上面的代碼無法顯示...如果修改一些東西..它將執行任何一個操作,即如果或其他 – user2212724 2013-04-18 04:16:04

+0

你'console.log(輸出);'檢查它包含什麼? – Rishabh 2013-04-18 04:17:16

回答

0

isArray()不會檢查對象數組中,但如果對象是一個數組。

這意味着檢查了output[i]==id(它是truefalse)。 它們總是而不是數組;這意味着你總是會去else條件的一部分。

您可以嘗試使用類似:

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

而不是你for循環。

+0

任何想法循環通過我的ID和json數組並執行操作 – user2212724 2013-04-18 04:19:24

+0

在這種情況下,作爲@Rishabh建議你需要做:'if(output [i] === id))' – 2013-04-18 04:22:36

+0

它的工作先生...非常感謝... – user2212724 2013-04-18 04:26:56

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 
} 

你寫它的樣子,你會爲output每個值做else條款那不符合id

相關問題