Size: a a a

2019 December 03

АГ

Андрей Гуртовой in javascript_ru
Vapaka Loko
вот как в этом примере с кнопкой,но чтобы сразу после ввода
видимо у тебя завязка на событие on change
привяжись к событию on input и будет то что ты хочешь
https://jsbin.com/wefunat/edit?html,js,output
источник

АГ

Андрей Гуртовой in javascript_ru
// Давайте напишем функцию
decomposer = (obj) => ({})

/*
 Которая будет уметь так:
 // input
 obj = {
   a:1,
   b: {
     c: 3,
   },
 }

 // output
 {
   '.a': {
       value: 1,
       parent: => obj,
   },
   '.b': {
       value: => {c: 3},
       parent: => obj,
   },
   '.b.c': {
      value: 3,
      parent: => obj.b;
   },
 }
*/
источник

АГ

Андрей Гуртовой in javascript_ru
где key: => obj это ссылка на соответствующий объект
источник

AK

Andrey Karepin in javascript_ru
Андрей Гуртовой
видимо у тебя завязка на событие on change
привяжись к событию on input и будет то что ты хочешь
https://jsbin.com/wefunat/edit?html,js,output
а если IE?
источник

АГ

Андрей Гуртовой in javascript_ru
Andrey Karepin
а если IE?
так с девятого пашет же
хотя и с отличиями от нормальных бравзеров
https://caniuse.com/#feat=input-event
источник

АГ

Андрей Гуртовой in javascript_ru
Андрей Гуртовой
// Давайте напишем функцию
decomposer = (obj) => ({})

/*
 Которая будет уметь так:
 // input
 obj = {
   a:1,
   b: {
     c: 3,
   },
 }

 // output
 {
   '.a': {
       value: 1,
       parent: => obj,
   },
   '.b': {
       value: => {c: 3},
       parent: => obj,
   },
   '.b.c': {
      value: 3,
      parent: => obj.b;
   },
 }
*/
ну что, кто осилил ?
источник

АГ

Андрей Гуртовой in javascript_ru
крч задача выше решается как-то так
decomposer = (obj, _path = "", _result = {}) => {
 Object.entries(obj).forEach(([key, value]) => {
   const path = _path + "." + key;
   _result[path] = {
     parent: obj,
     key,
     value,
     path,
   };

   const isObj = typeof value === "object" && value !== null;
   if (isObj) {
     decomposer(value, path, _result);
   }
 });
 return _result;
};

decomposer({a:1, b:{c: 3}});
Как можно улучшить?
источник

АГ

Андрей Гуртовой in javascript_ru
скуучно с вами. )
источник

К

Константин in javascript_ru
И так нормально
источник

К

Константин in javascript_ru
выкинь в фаил отдельный и сделай экспорт
источник

К

Константин in javascript_ru
не видно чтобы было
источник

К

Константин in javascript_ru
бабель сделает из entries дикую жопу после
источник

К

Константин in javascript_ru
все равно развернет в for
источник

АГ

Андрей Гуртовой in javascript_ru
пишем код мы один раз а читаем много раз. Пусть разворачивает хоть с жыквери . главное чтобы это можно было норм читать и это не было явно неправильным
источник

К

Константин in javascript_ru
Я делаю на редьюсах
источник

К

Константин in javascript_ru
Формально тут получается ровно тоже
источник

АГ

Андрей Гуртовой in javascript_ru
обжект кейс, и пошёл.. ?
источник

К

Константин in javascript_ru
источник

К

Константин in javascript_ru
Андрей Гуртовой
обжект кейс, и пошёл.. ?
Да
источник

К

Константин in javascript_ru
Тут typeof null === undef
источник