Size: a a a

JavaScript Noobs — сообщество новичков

2020 December 20

SI

Sanya Ilyin in JavaScript Noobs — сообщество новичков
ну придумывай тогда как фильтром это сделать)
источник

К

Кирилл in JavaScript Noobs — сообщество новичков
Так я уже предположил, по другому не знаю
источник

A

Alex in JavaScript Noobs — сообщество новичков
Кирилл
А как тогда, не пойму
Например
arr
 .map((element, index) => (element % 2 === 0 ? index : null))
 .filter((element) => element !== null)
источник

工丂乚闩从 in JavaScript Noobs — сообщество новичков
Alex
Например
arr
 .map((element, index) => (element % 2 === 0 ? index : null))
 .filter((element) => element !== null)
👍🏽
источник

工丂乚闩从 in JavaScript Noobs — сообщество новичков
Кирилл
А как тогда, не пойму
reduce один справится без мапа
источник

К

Кирилл in JavaScript Noobs — сообщество новичков
Вот так получилось
источник

A

Alex in JavaScript Noobs — сообщество новичков
工丂乚闩从
reduce один справится без мапа
Да, с редьюсом проще
arr.reduce((acc, element, index) => (element % 2 === 0 ? acc.concat(index) : acc), []);
источник

К

Кирилл in JavaScript Noobs — сообщество новичков
Пока не дошёл до него
источник

A

Alex in JavaScript Noobs — сообщество новичков
Ну filter, map и reduce в сцепке часто используются. Главное их суть понять, там несложно
источник

工丂乚闩从 in JavaScript Noobs — сообщество новичков
Кирилл
Вот так получилось
лучше принимать массив параметром и стрелочные функции использовать
источник

К

Кирилл in JavaScript Noobs — сообщество новичков
Ок, приму на заметку
источник

NB

Nikolay Breyn in JavaScript Noobs — сообщество новичков
Всем привет,подскажите пожалуйста,как после какой-то операции,продолжать работать с тем же числом?И как сделать set,чтоб начинало с того числа считать что ты запишешь в set?

function createCalculator(x) {
   return {
       sum: function (sum) {
           return x + sum;
       },
       mult: function (mult) {
           return x * mult;
       },
       sub: function (sub) {
           return x - sub;
       },
       div: function (div) {
           return x / div;
       },
       // set: function (set) {
       //     return;
       // }
   };
}
const calc = createCalculator(10);
console.log(calc.sum(5)); // 15
console.log(calc.mult(10)); //150
console.log(calc.sub(40)); // 110
console.log(calc.div(10)); // 11
источник

A

Alex in JavaScript Noobs — сообщество новичков
Nikolay Breyn
Всем привет,подскажите пожалуйста,как после какой-то операции,продолжать работать с тем же числом?И как сделать set,чтоб начинало с того числа считать что ты запишешь в set?

function createCalculator(x) {
   return {
       sum: function (sum) {
           return x + sum;
       },
       mult: function (mult) {
           return x * mult;
       },
       sub: function (sub) {
           return x - sub;
       },
       div: function (div) {
           return x / div;
       },
       // set: function (set) {
       //     return;
       // }
   };
}
const calc = createCalculator(10);
console.log(calc.sum(5)); // 15
console.log(calc.mult(10)); //150
console.log(calc.sub(40)); // 110
console.log(calc.div(10)); // 11
Не очень хорошо замкнул. Создай переменную внутри функции до return, в неё записывай подаваемое число как при вызове createCalculator, так и set
источник

j

jk in JavaScript Noobs — сообщество новичков
Извращённый вариант. (не использовать)

function createCalculator (x) {
 return {
   sum: function (sum) {
     return (x += sum)
   },
   mult: function (mult) {
     return (x *= mult)
   },
   sub: function (sub) {
     return (x -= sub)
   },
   div: function (div) {
     return (x /= div)
   },
   set: function (set) {
     return (x = set)
   }
 }
}
источник

A

Alex in JavaScript Noobs — сообщество новичков
function createCalculator(x) {
 let num = x;
 return {
   sum: function (sum) {
     num = x + sum;
     return num;
   },
   mult: function (mult) {
     num = x * mult;
     return num;
   },
   sub: function (sub) {
     num = x - sub;
     return num;
   },
   div: function (div) {
     num = x / div
     return num;
   },
   set: function (set) {
     num = set;
     return num;
   }
 };
}
источник

A

Alex in JavaScript Noobs — сообщество новичков
Это fluent interface называется, если интересно
источник

NB

Nikolay Breyn in JavaScript Noobs — сообщество новичков
Спасибо
источник

B

BiLLie WiLLie in JavaScript Noobs — сообщество новичков
Ребята, кто-нибудь barba.js использует?
источник

j

jk in JavaScript Noobs — сообщество новичков
Alex
Это fluent interface называется, если интересно
Насколько я прочитал fluent interface делает упор на чейнинг, а здесь он разве есть?
источник

A

Alex in JavaScript Noobs — сообщество новичков
Nikolay Breyn
Спасибо
Ой, я там ошибся
function createCalculator(x) {
 let num = x;
 return {
   sum: function (sum) {
     num += sum;
     return num;
   },
   mult: function (mult) {
     num *= mult;
     return num;
   },
   sub: function (sub) {
     num -= sub;
     return num;
   },
   div: function (div) {
     num /= div
     return num;
   },
   set: function (set) {
     num = set;
     return num;
   }
 };
}
источник