JavaScriptで配列に数字があるかを判定するのにinを使ったら想定と違っていてハマった。
indexOfで判定するらしい。(存在したら-1以外になるのを利用)
6 in arr1はarr1の配列の6個目があるか判定する。out of index防止にいいのかも。
var arr1 = [1,2,3,4,5,7,8,9,11,13,16,17,19];
var arr2 = [1,2,3,4,5,7,8,9,11,13,16,17,19];
print("arr1==arr2:",arr1==arr2);
print("arr1.toString()==arr2.toString():",arr1.toString()==arr2.toString());
print("配列に6がなければ-1:",arr1.indexOf(6)>-1);
print("配列の6番目があるか:",6 in arr1);
実行結果
>arr1==arr2: false
>arr1.toString()==arr2.toString(): true
>配列に6がなければ-1: false
>配列の6番目があるか: true