Я пытаюсь проверить, если массив содержит заданное значение:Почему indexOf в пустом массиве не возвращает -1?
var arr = [];
if (arr.indexOf(2)) {
console.log('yes');
}
Почему если условие всегда выполняется, хотя arr
не содержит значение 2
? Должен ли он возвращать -1
, и поэтому ничего не нужно регистрировать?
В JavaScript 'Boolean (-1) === true', поэтому' Boolean (. [] IndexOf (2)) === true', но 'Boolean ([2] .indexOf (2)) === false'. –