exécuter la fonction avec une valeur unique en utilisant javascript / node js

Vikas

let object=
    [
     {
      id:`01`,
      name:`fish`,
      type:null,
      care:'owner',
     },
     {
      id:`02`,
      name:`fish`,
      type:'fresh',
      care:'peter',
     },
     {
      id:`03`,
      name:`fish`,
      type:`fresh`,
      care:'amy',
     },
     {
      id:`04`,
      name:`fish`,
      type:`tank`,
      care:'abc',
     },
     {
      id:`05`,
      name:`animal`,
      type:`pet`,
      care:'teen',
     },,
     {
      id:`06`,
      name:`animal`,
      type:`pet`,
      care:'ran',
     },
     {
      id:`07`,
      name:`animal`,
      type:null,
      care:'roh',
     },
     {
      id:`08`,
      name:`food`,
      type:`veg`,
      care:'test',
     },
     {
      id:`09`,
      name:`food`,
      type:null,
      care:'dop',
     }
    ]
    
    object.map((value)=>{
console.log(value.name)

// i am calling function here by passing value.name as a parameter
   let gotValue = functionName(value.name);

 // using type also 
 if(typeof value.type!=="string"){
// Do some task here with gotValue

  }
})

J'ai cet objet et j'en tire une certaine valeur pour ex obtenir le nom car je veux passer ce nom à la fonction mais le problème est dû à la répétition des données la fonction appelant encore et encore y a-t-il une possibilité que je puisse exécuter la fonction à l'intérieur de la carte mais avec une valeur unique, de l'aide ?

  • comme ma sortie devient comme ça
fish
fish
fish
animal
animal
animal

et cette value.name passe à l'intérieur de ma fonction donc elle se répète comme ceci

functionName(fish);
functionName(fish);
functionName(fish);
functionName(animal);
functionName(animal);
functionName(animal); 

la fonction de temps multiple s'exécute avec le même nom et obtient des valeurs en double

  • juste besoin de ma fonction exécutée avec un nom unique
functionName(fish)
functionName(animal);
functionName(food);
  • comme je veux rester dans la fonction de carte parce que j'effectue une tâche qui ne peut être possible qu'à l'intérieur de la carte, c'est pourquoi j'ai besoin d'une valeur unique
pont

Vous pouvez utiliser Set qui peut être utilisé pour tester si l'objet avec la valeur existe déjà ou non. Il n'appellera la fonction qu'une seule fois.

let object = [
  {
    id: `01`,
    name: `fish`,
    type: null,
  },
  {
    id: `02`,
    name: `fish`,
    type: `fresh`,
  },
  {
    id: `03`,
    name: `fish`,
    type: `tank`,
  },
  {
    id: `04`,
    name: `animal`,
    type: `pet`,
  },
  {
    id: `05`,
    name: `animal`,
    type: `wild`,
  },
  {
    id: `06`,
    name: `animal`,
    type: null,
  },
  {
    id: `07`,
    name: `food`,
    type: `veg`,
  },
  {
    id: `08`,
    name: `food`,
    type: null,
  },
];

const dict = new Set();
object.map((value) => {
  if (!dict.has(value.name)) { // Run only if objet with name is not already existed in dict
    dict.add(value.name);
    console.log(value.name); // For testing
    // functionName(value.name);
  }
});

Si vous voulez appeler la fonction avec deux filtres, vous pouvez utiliser certains pour trouver les éléments d'un tableau. Voir j'ai maintenant déclaré dict en tant que tableau

let object = [{
    id: `01`,
    name: `fish`,
    type: null,
  },
  {
    id: `02`,
    name: `fish`,
    type: `fresh`,
  },
  {
    id: `03`,
    name: `fish`,
    type: `tank`,
  },
  {
    id: `04`,
    name: `animal`,
    type: `pet`,
  },
  {
    id: `05`,
    name: `animal`,
    type: `wild`,
  },
  {
    id: `06`,
    name: `animal`,
    type: null,
  },
  {
    id: `07`,
    name: `food`,
    type: `veg`,
  },
  {
    id: `08`,
    name: `food`,
    type: null,
  },
  {
    id: `09`,
    name: `food`,
    type: null,
  },
  {
    id: `10`,
    name: `fish`,
    type: `tank`,
  },
];

const dict = [];
object.map((value) => {
  const { name, type } = value;
  if (!dict.some((obj) => obj.name === name && obj.type === type)) {
    // Run only if objet with name is not already existed in dict
    dict.push({ name, type });
    console.log(name, type); // For testing
    // functionName(value.name);
  }
});
.as-console-wrapper { max-height: 100% !important; top: 0; }

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

TOP liste

  1. 1

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  2. 2

    Enregistrer le chemin de l'image de la galerie vers la base de données de la salle et l'afficher dans la liste des recycleurs

  3. 3

    Microsoft.WebApplication.targets

  4. 4

    knn classification 10 plis de l'outil et du tri

  5. 5

    Quelle est la relation entre le modèle et le tableau ? C'est compliqué

  6. 6

    Créer un système Buzzer à l'aide de python

  7. 7

    Fonction de puissance en Java

  8. 8

    opérations en virgule flottante dans go

  9. 9

    Comment définir la couleur de l'intersection dans un diagramme de Venn?

  10. 10

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  11. 11

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  12. 12

    AutoMapper.Collection.EFCore - Erreur générée lors de la configuration

  13. 13

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

  14. 14

    Comment remplir les valeurs manquantes avec plusieurs colonnes dans R

  15. 15

    Comment puis-je ajouter un UIView sous mon contrôleur de barre d'onglets par programme?

  16. 16

    Yat-il un référentiel maven application Java à démarrer rapidement 11

  17. 17

    Comment rechercher des éléments dans une ArrayList? - Java

  18. 18

    Comment utiliser HttpClient avec TOUT cert ssl, quelle que soit la « mauvaise » est

  19. 19

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  20. 20

    Sélectionnez le bouton radio sur la saisie de texte

  21. 21

    Placez le modeBar en haut au centre à l'aide de plotly.js

chaudétiquette

Archive