«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу сгладить вложенные объекты в JavaScript одной строкой кода?

Как я могу сгладить вложенные объекты в JavaScript одной строкой кода?

Опубликовано в 2025-03-04
Просматривать:518

How Do I Flatten Nested Objects in JavaScript with One Line of Code?

сглаживание вложенных объектов с помощью одной Liner

В JavaScript задача сглаживания вложенных объектов часто возникает. Эта операция включает в себя преобразование сложного объекта с вложенными уровнями в одноуровневый объект. Хотя существуют различные подходы к достижению этого, мы углубимся в однострочное решение, которое использует современные функции JavaScript.

предоставленный фрагмент эффективно сглаживает вложенные объекты, используя метод object.assign (). Он сочетает в себе массив объектов с одной пропертикой, созданными с помощью рекурсивной функции (_flatten). Эта функция пересекает каждую ключ в входном объекте и либо вызывает себя, если значение является другим объектом или создает объект с одной парой значений свойств в противном случае.

реализация:

Object.assign({}, ...function _flatten(o) { return [].concat(...Object.keys(o).map(k => typeof o[k] === 'object' ? _flatten(o[k]) : ({[k]: o[k]})))}(yourObject))

выравнивание этого объекта: { A: 2, C: 3 }

redantages:
{
  a:2,
  b: {
    c:3
  }
}

{
  a:2,
  c:3
}
достигает сглаживания объекта в одной строке кода. Underscore.

гибкость:

использует рекурсивную функцию (_flatten) для динамического обработки вложенных структур. Как object.assign и оператор распространения.
  • zero-iteration: рекурсивную функцию исследует все пути в вложенном объекте одновременно, что может повлиять на производительность для больших объектов.
  • ]
Заявление о выпуске Эта статья воспроизведена: 1729573278, если есть какие -либо нарушения, пожалуйста, свяжитесь с учебным заведением[email protected], чтобы удалить его.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3