@nickerlan

Можно ли быстро добавить ключ в объект и не столкнуться с undefined?

Такой код
const a = 1;
const b = undefined;
const c = { a, b }


выдасt

{ a:1, b:undefined }

Можно ли столь же изящно написать, чтобы получилось просто { a:1 } ( не задавать ключ в случае undefined? )
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
ruvasik
@ruvasik
https://www.bryce.ru
К чему это изящество?
В данном случае производительность и читаемость кода важнее.
Можете просто использовать фильтр при чтении.
Или при записи.
Если хотите записывать компактно, сделайте свою функцию вроде

function fillDefined(obj) {
  return Object
    .entries(obj)
    .reduce((obj, cur) => { 
      if (typeof cur[1] !== 'undefined') 
        obj[cur[0]] = cur[1] ; 

      return obj;
     } , {})
}

const a = 1;
const b = undefined;
const c = fillDefined({ a, b })


Или фильтр + Object.fromEntries
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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