Почему метод `filter()` удаляет числа из массива, которые при сложении с 1 дают 0? Какие значения остаются в результирующем массиве? Как может быть изменен код, чтобы получить другой результат?
Функция `filter` применяется в данном контексте для отбора элементов в массиве, которые соответствуют определенному условию. Метод `filter()` удаляет числа из массива, которые при сложении с 1 дают 0, потому что условие возвращаемой функции является результатом операции `element !== -1`, что означает, что элементы, которые не равны -1, будут оставлены в результирующем массиве. Для изменения результатов кода нужно изменить условие в функции обратного вызова. Например, если мы хотим оставить только числа, которые при сложении с 1 дают 0, мы можем изменить условие на `element + 1 === 0`. Таким образом, результирующий массив будет содержать только числа, которые прибавлены к 1 дают 0.
RTFM: <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/filter#callbackfn" rel="nofollow">Array.filter() -> callbackFn</a> <br/> <blockquote><br/>
<code>callbackFn</code><br/>
<br/>
Функция-предикат, которая будет вызвана для проверки каждого элемента массива. Если функция возвращает <b>true</b>, то элемент остаётся в массиве, если <b>false</b>, то удаляется.</blockquote> <br/> 0 при конвертации в булево значение приводится к <code>false</code> .