下面的javascript代码中,怎么改动才能使index的值是2?(二维数组的难题哦!)
下面的javascript代码中,如何改动才能使index的值是2?(二维数组的难题哦!)
var arr = [[101,102,"上海"],[201,202,"北京"],[301,302,"广州"]];
var txtValue =$("#txtCity").val();//里面的值是北京
for(var i=0;i<arr.length;i++){
//var index =$.inArray("北京", arr[i]);//index的值是2
var index =$.inArray(txtValue, arr[i]); //index的值是-1
//var index =$.inArray("\""+txtValue+"\"", arr[i]); //index的值是-1
}
在上面的代码中,如何改动var index =$.inArray(txtValue, arr[i]);这句代码,才能使index的数值是2?
我改成var index =$.inArray("\""+txtValue+"\"", arr[i]); 后index的数值还是-1,
而var index =$.inArray("北京", arr[i]);这句执行后index的值却是2。
请高人指点:在上面的代码中,如何改动var index =$.inArray(txtValue, arr[i]);这句代码,才能使index的数值是2?
------解决思路----------------------
看看$("#txtCity").val()的值中是否的空格或换行符等不可打印的字符
------解决思路----------------------
不可能吧。
你是for(var i=0;i<arr.length;i++)循环查找的,所有最后不管你的txtValue是什么,都应该返回最后的index的值。
而你arr 的最后一项是数组,[301,302,"广州"]
所以如果你的txtValue是北京的话,最后index一定是-1.
个人感觉,你要这样查找的话,数据结构设计是有问题的。
------解决思路----------------------
var arr = [[101,102,"上海"],[201,202,"北京"],[301,302,"广州"]];
var txtValue =$("#txtCity").val();//里面的值是北京
var index=-1;
for(var i=0;i<arr.length;i++){
var ix =$.inArray(txtValue, arr[i]);
if(ix>-1){index=ix;break;}
}
alert(index)
var arr = [[101,102,"上海"],[201,202,"北京"],[301,302,"广州"]];
var txtValue =$("#txtCity").val();//里面的值是北京
for(var i=0;i<arr.length;i++){
//var index =$.inArray("北京", arr[i]);//index的值是2
var index =$.inArray(txtValue, arr[i]); //index的值是-1
//var index =$.inArray("\""+txtValue+"\"", arr[i]); //index的值是-1
}
在上面的代码中,如何改动var index =$.inArray(txtValue, arr[i]);这句代码,才能使index的数值是2?
我改成var index =$.inArray("\""+txtValue+"\"", arr[i]); 后index的数值还是-1,
而var index =$.inArray("北京", arr[i]);这句执行后index的值却是2。
请高人指点:在上面的代码中,如何改动var index =$.inArray(txtValue, arr[i]);这句代码,才能使index的数值是2?
------解决思路----------------------
看看$("#txtCity").val()的值中是否的空格或换行符等不可打印的字符
------解决思路----------------------
不可能吧。
你是for(var i=0;i<arr.length;i++)循环查找的,所有最后不管你的txtValue是什么,都应该返回最后的index的值。
而你arr 的最后一项是数组,[301,302,"广州"]
所以如果你的txtValue是北京的话,最后index一定是-1.
个人感觉,你要这样查找的话,数据结构设计是有问题的。
------解决思路----------------------
var arr = [[101,102,"上海"],[201,202,"北京"],[301,302,"广州"]];
var txtValue =$("#txtCity").val();//里面的值是北京
var index=-1;
for(var i=0;i<arr.length;i++){
var ix =$.inArray(txtValue, arr[i]);
if(ix>-1){index=ix;break;}
}
alert(index)