私はJSの配列の周りに頭を抱えようとしています。私の質問は、次の2つのテストは同等ですか?`var in array`と` array.indexOf(var) `の違いは何ですか?
var test = 2;
console.log(test in [1,2,3]);
console.log([1,2,3].indexOf(test) != -1);
彼らはのように見えるが、その後、私はあなただけのオブジェクトに、アレイ上in
を行うことができないことを示唆して読んでいますthisとbookのように答えます。明快さを探しています。人々が(私は線形時間であると仮定します)を使用し、in
(一定時間と仮定します)を使用しない理由が必要です。
'in'はオブジェクトキーを探しています。配列の場合、文字列ではなく数字キーです。 'indexOf'は、アイテムの配列の値を見て、インデックスを返します。 – synthet1c