Я пытаюсь получить голову вокруг массивов в JS. Мой вопрос: следующие два теста эквивалентны?В чем разница между `var in array` и` array.indexOf (var) `?
var test = 2;
console.log(test in [1,2,3]);
console.log([1,2,3].indexOf(test) != -1);
Они, кажется, но ответы, как this и book я читал предположить, что вы не можете сделать in
на массив, только на объекте. Ищете ясность. Должна быть причина, по которой люди используют (что я предполагаю, это линейное время), а не in
(что я предполагаю, это постоянное время).
Использование 'in' ищет ключи объекта, для массива это числовые ключи, а не строки. 'indexOf' рассматривает значения массива для элемента и возвращает индекс. – synthet1c