@Alex_87

Как понять синтаксис ES6?

Добрый день! Прошу помочь объяснить строчку кода, а именно то, что выделил жирным.
const realNumberArray = [4, 5.6, -9.8, 3.14, 42, 6, 8.34, -2];
const squareList = (arr) => {
  "use strict";
  // change code below this line
  const squaredIntegers = <b>arr.filter( (num) => num > 0 && num % parseInt(num) === 0 )</b>.map( (num) => Math.pow(num, 2) );
  // change code above this line
  return squaredIntegers;
};
// test your code
const squaredIntegers = squareList(realNumberArray);
console.log(squaredIntegers);

Я так понимаю, что функция filter берёт принимает в качестве аргумента число и =>(что означает?) возвращает... и дальше не понятно... По виду, дальше идёт какое-то условие... Я просто не понимаю логики. Как можно возвращать УСЛОВИЕ? Обычно возвращают результат!
  • Вопрос задан
  • 152 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Стрелочные функции это лаконичная запись функций и небольшие отличия с контекстом.
arr.filter( (num) => num > 0 && num % parseInt(num) === 0 )

// то же, что
arr.filter( function(num) { return   num > 0 && num % parseInt(num) === 0 ;}  )

Оставляет только те элементы массива, которые больше нуля И остаток деления (%) на целое значение себя же равен нулю. Т.е. являются квадратами целого.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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