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

如何用一行 JS 程式碼展平嵌套物件?

Susan Sarandon
發布: 2024-10-22 13:17:03
原創
122 人瀏覽過

How to Flatten Nested Objects with a Single Line of JS Code?

使用單行壓平巢狀物件

壓平巢狀物件是程式設計中的常見任務,使用現代JavaScript 會更加簡單。這是一個使用展開運算子和Object.assign 的單行解決方案:

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

工作原理:

此程式碼使用遞歸函數_flatten,它遍歷嵌套物件並建立一組單屬性物件。每個屬性名稱都會對應到其對應的值,如果該值是另一個對象,則該函數會遞歸到該對象。

展開運算子 (...) 用於展平 _flatten 所建立的物件陣列。然後將產生的陣列傳遞給 Object.assign,它將所有物件組合成一個扁平物件。

輸入和輸出範例:

考慮以下巢狀物件:

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

在此物件上執行提供的程式碼將產生扁平化結果:

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

注意:

此解決方案使用ES6 功能,因此如果您使用較舊的JavaScript 環境,可能需要調整它。

以上是如何用一行 JS 程式碼展平嵌套物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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