例:
$.get('aaaaa .ashx', null,function(d){
// d によって返される値は 1,3,43,23,54,67 であると仮定します。
var arr = d.split(',');
$.inArray (3,arr) ==-1 //true
//なぜ
//こう書くと
var arr = eval('[' d ']' );
$.inArray(3,arr) >-1
});
これはなぜですか?
jquery inarray() 関数詳細説明 jquery.inarray(value,array)
配列内の最初のパラメータの位置を決定します(見つからない場合は-1を返します)。
配列内の最初のパラメータのインデックスを決定します (見つからない場合は -1)。
戻り値
jquery
パラメータ
値 (任意): 配列 Find で使用されます。
配列が存在する場合 (配列): 処理される配列。
今日、友人が次のような質問をしました
var testarr=[{"a":"0"},{"b":"1"},{"c":"2"}];alert($.inarray({" a":" 0"},testarr));
この値は常に -1 を返すとのこと;
一見しただけでは気づかなかったので、次の段落を書きました彼に読んでもらいます。
var obj={'m':' 1'} ;var arr=[obj,'1',2];alert($.inarray(obj,arr));
この戻り値は正常です。
後で気づきましたが、オブジェクトは参照型です。
参照型の特性は短いプログラムで実証できます
var obj={"a":0};var obj1={"a":0};
alert(obj==obj1);// false;--- ------ ------------
var obj={"a":0};
var obj1=obj;
alert(obj==obj1) ;
//