Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengalih Keluar Atribut Null atau Tidak Ditakrifkan daripada Objek JavaScript?

Bagaimanakah Saya Boleh Mengalih Keluar Atribut Null atau Tidak Ditakrifkan daripada Objek JavaScript?

Patricia Arquette
Lepaskan: 2024-11-28 04:31:13
asal
308 orang telah melayarinya

How Can I Remove Null or Undefined Attributes from a JavaScript Object?

Alih Keluar Atribut Kosong daripada Objek dalam JavaScript

Dalam JavaScript, objek boleh mempunyai sifat yang tidak ditentukan atau batal, yang boleh mengacaukan kod dan menjadikannya lebih sukar untuk dikerjakan. Untuk membetulkannya, kita boleh mengalih keluar atribut kosong ini daripada objek menggunakan pelbagai teknik.

ES10/ES2019

Kaedah ini menggunakan pengenalan Object.fromEntries() kaedah:

  • Satu pelapik: biarkan o = Object.fromEntries(Object.entry(obj).filter(([_, v]) => v != null));
  • Sama seperti di atas tetapi sebagai fungsi: function removeEmpty(obj) { kembalikan Object.fromEntries(Object.entry(obj).filter(([_, v]) => v != null)); }
  • Versi rekursif untuk mengalih keluar item daripada objek bersarang: function removeEmpty(obj) { return Object.fromEntries( Object.entry(obj) .filter(([_, v]) => v != null) .map(([k, v]) => [k, v === Objek(v) ? removeEmpty(v) : v]) ); }

ES6/ES2015

  • Satu pelapik yang bermutasi: Object.keys(obj).forEach((k) => obj [k] == null && padam obj[k]);
  • Versi tidak bermutasi: biarkan o = Object.keys(obj) .filter((k) => obj[k] != null) .reduce((a, k) => ({ ...a, [k]: obj[ k] }), {});
  • Serupa dengan di atas, ditulis sebagai fungsi: function removeEmpty(obj) { return Object.entry(obj) .filter(([_, v]) => v != null) .reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {} ); }
  • Fungsi rekursif untuk mengendalikan objek bersarang: function removeEmpty(obj) { return Object.entry(obj) .filter(([_, v]) => v != null) .reduce( ( acc, [k, v]) => ({ ...acc, [k]: v === Objek(v) ? removeEmpty(v) : v }), {} ); }

ES5/ES2009

  • Versi bukan rekursif berfungsi: function removeEmpty(obj) { return Object.keys(obj) .filter (fungsi (k) { return obj[k] != null; }) .reduce(fungsi (acc, k) { acc[k] = obj[k]; }
  • Versi fungsi rekursif: function removeEmpty(obj) { return Object.keys(obj) .filter(function (k) { return obj[k] != null; }) .reduce(function (acc , k) { acc[k] = jenis obj[k] === "objek" obj[k]; kembalikan acc }, {}); }

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Atribut Null atau Tidak Ditakrifkan daripada Objek JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan