Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Meratakan Objek Bersarang dengan Satu Baris Kod?

Bagaimana untuk Meratakan Objek Bersarang dengan Satu Baris Kod?

Patricia Arquette
Patricia Arquetteasal
2024-10-22 13:05:17871semak imbas

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

Meratakan Objek Bersarang dengan Satu Pelapik

Untuk meratakan objek bersarang, anda boleh menggunakan penyelesaian satu baris berikut:

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

Satu pelapik ini boleh meratakan objek dengan sifat bersarang, menukarnya menjadi objek rata dengan sifat satu tahap.

Cara Ia Berfungsi:

  1. Fungsi Rekursif _flatten: Fungsi rekursif melintasi objek, meratakan sebarang sifat bersarang.
  2. Spread Operator (ES6): Di dalam fungsi _flatten, hamparan operator ... digunakan untuk mencipta tatasusunan objek satu sifat daripada setiap harta dalam objek ({[k]: o[k]}).
  3. Penggabungan: Objek Fungsi .keys(o) mengembalikan tatasusunan nama sifat dan fungsi [].concat digunakan untuk menggabungkan tatasusunan objek satu sifat ke dalam tatasusunan tunggal.
  4. Object.assign Function ( ES6): Fungsi Object.assign digunakan untuk menggabungkan tatasusunan leper bagi objek satu sifat menjadi satu objek yang diratakan.

Contoh:

Menggunakan objek contoh:

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

Penyelesaian satu baris akan menghasilkan objek yang diratakan:

{
  a: 2,
  c: 3
}

Atas ialah kandungan terperinci Bagaimana untuk Meratakan Objek Bersarang dengan Satu Baris Kod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn