@Extazzzi

В чем разница между двумя блоками кода?

В чем разница?
Первый блок кода возвращает массив в котором содержится 0;
function filter_list(l) {
  return l.filter(function(v) {return typeof v == 'number'})
}

Второй блок кода возвращает массив в котором нет 0;
function filter_list(l) {
	arrTwo = arrOne.filter(item => {
		if (typeof item == "number") return item
	})
};
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Если бы вы составили себе труд ознакомиться с описанием метода filter, то знали бы, что он

создаёт новый массив со всеми значениями, для которых функция callback вернула значение, которое может быть приведено к true

В первом случае вы возвращаете true, если элемент массива является числом, то есть, в результирующий массив попадают только числа, и неважно, каковы их значения. Во втором случае вы возвращаете сам элемент, если он является числом, а нули, они да - имеют своим булевым эквивалентом false, поэтому и отбрасываются.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
tomgif
@tomgif
Веб-разработчик
У вас во втором блоке кода вообще другой массив arrOne
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы