Maison > interface Web > js tutoriel > Comment puis-je supprimer les attributs nuls ou non définis d'un objet JavaScript ?

Comment puis-je supprimer les attributs nuls ou non définis d'un objet JavaScript ?

Patricia Arquette
Libérer: 2024-11-28 04:31:13
original
337 Les gens l'ont consulté

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

Supprimer les attributs vides d'un objet en JavaScript

En JavaScript, les objets peuvent avoir des propriétés non définies ou nulles, ce qui peut encombrer le code et rendent le travail plus difficile. Pour remédier à cela, nous pouvons supprimer ces attributs vides d'un objet en utilisant diverses techniques.

ES10/ES2019

Ces méthodes utilisent l'introduction de Object.fromEntries() méthode :

  • Une seule ligne : soit o = Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null));
  • Identique à ci-dessus mais en fonction : function removeEmpty(obj) { return Object.fromEntries(Object.entries(obj).filter(([_, v]) => v != null)); >
  • Une version récursive pour supprimer des éléments des objets imbriqués : function removeEmpty(obj) { return Object.fromEntries( Object.entries(obj) .filter(([_, v]) => v != null) .map(([k, v]) => [k, v === Object(v) ? RemoveEmpty(v) : v]) ); >

ES6/ES2015

  • Une ligne unique en mutation : Object.keys(obj).forEach((k) => obj [k] == null && delete obj[k]);
  • Une version non mutante : let o = Object.keys(obj) .filter((k) => obj[k] != null) .reduce((a, k) => ({ ...a, [k]: obj[k] } ), {});
  • Similaire à ci-dessus, écrit sous forme de fonction : function removeEmpty(obj) { return Object.entries(obj) .filter(([_, v]) => v != null) .reduce((acc, [k, v]) => ({ ...acc, [k] : v }), {}); >
  • Une fonction récursive pour gérer les objets imbriqués : function removeEmpty(obj) { return Object.entries(obj) .filter(([_, v]) => v != null) .reduce( ( acc, [k, v]) => ({ ...acc, [k] : v === Objet(v) ? RemoveEmpty(v) : v }), {} ); >

ES5/ES2009

  • Une version fonctionnelle non récursive : function removeEmpty(obj) { return Object.keys(obj) .filter (function (k) { return obj[k] != null; }) .reduce(function (acc, k) { acc[k] = obj[k]; return acc; >
  • Une version fonctionnelle récursive : function removeEmpty(obj) { return Object.keys(obj) .filter(function (k) { return obj[k] != null; }) .reduce(function (acc , k) { acc[k] = typeof obj[k] === "objet" ? acc; >

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal