首頁  >  文章  >  web前端  >  如何用一行 JS 程式碼展平嵌套物件?

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

Susan Sarandon
Susan Sarandon原創
2024-10-22 13:17:03211瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn