首頁 > web前端 > js教程 > 主體

如何在 JavaScript 中簡潔地展平嵌套物件?

DDD
發布: 2024-10-22 13:36:02
原創
646 人瀏覽過

How to Flatten Nested Objects Concisely in JavaScript?

簡潔地扁平化巢狀物件

在各種程式設計場景中經常需要將巢狀物件轉換為扁平化結構。為了快速且有效率的解決方案,您可以使用簡潔的單行程式碼。

將提供的巢狀物件:

{
  a:2,
  b: {
    c:3
  }
}
登入後複製

展平為所需的輸出:

{
  a:2,
  c:3
}
登入後複製

採用下列JavaScript 表達式:

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

這種方法背後的核心概念是遞歸創建一個單屬性物件的陣列。 Object.keys(o) 方法會擷取輸入物件 o 的所有鍵。然後檢查每個鍵 k 的物件類型。如果 typeof o[k] === 'object',則函數 _flatten 會遞歸地套用於巢狀物件。否則,它使用鍵 k 和值 o[k] 建構一個單屬性物件。

[].concat(... 語法將所有這些單屬性物件組合到一個陣列中。最後, Object.assign({}, ...) 將這些數組合併到所需的扁平輸出中。高效率的解決方案。

以上是如何在 JavaScript 中簡潔地展平嵌套物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!