


Comment implémenter une méthode `filter()` personnalisée pour les objets en JavaScript ?
JavaScript : implémentation d'une méthode filter() personnalisée pour les objets
La spécification ECMAScript 5 introduit le prototype filter() pour les tableaux, mais pas pour les objets. L'extension des objets intégrés de JavaScript est généralement déconseillée. Cependant, si vous le souhaitez, vous pouvez créer une fonctionnalité filter() personnalisée pour les objets en utilisant les approches suivantes :
1. Utilisation de réduire() et Object.keys()
Object.filter = (obj, predicate) => Object.keys(obj) .filter(key => predicate(obj[key])) .reduce((res, key) => (res[key] = obj[key], res), {}); // Example: const scores = { John: 2, Sarah: 3, Janet: 1 }; const filtered = Object.filter(scores, score => score > 1); console.log(filtered);
2. Utilisation de réduire() et Object.keys() avec Object.assign()
Object.filter = (obj, predicate) => Object.keys(obj) .filter(key => predicate(obj[key])) .reduce((res, key) => Object.assign(res, { [key]: obj[key] }), {}); // Example: same as above
3. Utilisation de map() et de la syntaxe de propagation
Object.filter = (obj, predicate) => Object.fromEntries( Object.entries(obj) .filter(([key, value]) => predicate(value)) .map(([key, value]) => [key, value]) ); // Example: same as above
4. Utilisation de Object.entries() et Object.fromEntries()
Object.filter = (obj, predicate) => Object.fromEntries( Object.entries(obj).filter(([key, value]) => predicate(value)) ); // Example: same as above
N'oubliez pas que l'extension des prototypes intégrés peut avoir des conséquences inattendues. Il est généralement préférable de fournir des fonctions personnalisées en tant qu'utilitaires autonomes ou d'étendre des objets globaux spécifiquement pour des fonctionnalités spécifiques.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Remplacer les caractères de chaîne en javascript

jQuery Vérifiez si la date est valide

jQuery obtient un rembourrage / marge d'élément

10 vaut la peine de vérifier les plugins jQuery

Http débogage avec le nœud et le http-console

Tutoriel de configuration de l'API de recherche Google personnalisé

jQuery Ajouter une barre de défilement à div
