Привет ребят. Делаю задачку, в которой надо переписать встроенный метод includes в массивах.
Делаю так:
Array.prototype.newInclude = function(element, index) {
let startIndex = index || 0,
arr = this.slice(startIndex);
for (let i = 0; i < arr.length; i++) {
if (element === arr[i] || isNaN(arr[i]) && isNaN(element)) {
return true;
}
}
return false;
}
С числами все хорошо выходит, а вот со строчками не очень.
Результат:
['a','b'].newInclude('a') // true
['a','b'].newInclude('e') // true
, то есть все символы дают true. Я понимаю что это через isNaN, но где мне подправить?
isNaN - здесь потому что я хотел добится результатa:
[1,2,3,NaN].newInclude(NaN) // => true
Спасибо всем!