Size: a a a

JavaScript — русскоговорящее сообщество

2020 March 16

KA

Kenan Ayvazov in JavaScript — русскоговорящее сообщество
источник

IK

Iliya Kobaliya in JavaScript — русскоговорящее сообщество
class Model {
   constructor() {
       this.observer = null;
   }

   subscribe(func) {
...
   }

   unsubscribe() {
...
   }

   notify(data: { conditio, history}) {
...
   }

   async fetchHistory() {
...
   } Стоит вынести логиу подписки из модели? Методы  subscribe & unsubscribe ?
источник

AK

Alex Ker in JavaScript — русскоговорящее сообщество
Ща гляну
источник

Z

Zdarova in JavaScript — русскоговорящее сообщество
am
1. причём тут массив, когда у вас объект
2. вы имеете в виду, что на второй строчке будет выведена цифра 2?
1. Я опечатался. Да, я имел ввиду не массив а объект. Там принцип тот же просто. 2. Да, я имею ввиду цифру 2 на 2й строчке. Не понимаю почему там 2 а не 1.
источник

DC

Dmitry Croft in JavaScript — русскоговорящее сообщество
Iliya Kobaliya
Ребят,если использовать архитектуру  MVC и паттерн observer, то модель должна хранить только методы(например fetch),которые будут подгружать новую информацию и оповещать слушателей-observers о новой инфе?А в контроллере методы подписки и отписки? Тоесть observer отдельно, модель отдельно ?
Советую как  посмотреть как работают MV* фреймворки.

Например KnockoutJS

Щас ещё статью скину об архитектуре Фронтенда
источник

VP

Vitalii Ponich in JavaScript — русскоговорящее сообщество
Zdarova
1. Я опечатался. Да, я имел ввиду не массив а объект. Там принцип тот же просто. 2. Да, я имею ввиду цифру 2 на 2й строчке. Не понимаю почему там 2 а не 1.
если в консоле браузера запустить, то у меня выводит сначала 1, а потом 2
источник

IK

Iliya Kobaliya in JavaScript — русскоговорящее сообщество
Ну а если вкратце ?
источник

IK

Iliya Kobaliya in JavaScript — русскоговорящее сообщество
Модель я знаю что отвечает за логику, тоесть обсервер и ммодель это все одно целое ...Просто я запутался,мен попросили отделить функционал подписки от модели...
источник

DC

Dmitry Croft in JavaScript — русскоговорящее сообщество
Iliya Kobaliya
Ну а если вкратце ?
источник

Z

Zdarova in JavaScript — русскоговорящее сообщество
Vitalii Ponich
если в консоле браузера запустить, то у меня выводит сначала 1, а потом 2
Да, сейчас понял что просто шуму зря тут навёл. Я проверял в режиме отладки в IDEшке. Если проверять в браузере или в песочнице любой то действительно сначала 1 потом 2.
источник

ꟿⅨ in JavaScript — русскоговорящее сообщество
Скажите так законно писать?
selectedArr массив булов
!!selectedArr.reduce((cum, current) => cum + current)
источник

KA

Kenan Ayvazov in JavaScript — русскоговорящее сообщество
ꟿⅨ
Скажите так законно писать?
selectedArr массив булов
!!selectedArr.reduce((cum, current) => cum + current)
а зачем?
источник

ꟿⅨ in JavaScript — русскоговорящее сообщество
Это старый код, не мой
источник

E

Evgen in JavaScript — русскоговорящее сообщество
ꟿⅨ
Скажите так законно писать?
selectedArr массив булов
!!selectedArr.reduce((cum, current) => cum + current)
плюс можно заменить на ||  и тогда избавишься от !!
источник

E

Evgen in JavaScript — русскоговорящее сообщество
да и вообще можно заменить на .includes
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
ꟿⅨ
Скажите так законно писать?
selectedArr массив булов
!!selectedArr.reduce((cum, current) => cum + current)
selectedArr.some(Boolean)
источник

AP

Anton Permyakov in JavaScript — русскоговорящее сообщество
редьюс не выйдет, когда найдет первое вхождение
источник

AK

Alex Ker in JavaScript — русскоговорящее сообщество
Kenan Ayvazov
const data = {IdModel:123,DateFormat:"10.10.2019"};

const changeValue = (obj, word) => {
 let keys = Object.keys(obj);
 let newObj = {};

 for (let i = 0; i < keys.length; i++) {
   newObj[keys[i] + word] = obj[keys[i]];
 }

 return newObj
}

console.log(changeValue(data, 'Field'))
Спасибо метод подошел.
источник

t

th.witness in JavaScript — русскоговорящее сообщество
Kenan Ayvazov
const data = {IdModel:123,DateFormat:"10.10.2019"};

const changeValue = (obj, word) => {
 let keys = Object.keys(obj);
 let newObj = {};

 for (let i = 0; i < keys.length; i++) {
   newObj[keys[i] + word] = obj[keys[i]];
 }

 return newObj
}

console.log(changeValue(data, 'Field'))
Почему не форич?
источник

KA

Kenan Ayvazov in JavaScript — русскоговорящее сообщество
th.witness
Почему не форич?
хз. Разницы особой нету
источник