Je travaille sur un projet angulaire 7 et je traite une API qui renvoie une gamme d'objets (recettes) à la recherche et je souhaite obtenir tous les ingrédients de chaque objet afin que je puisse vous en protéger, obtenir seulement quoi Je veux parce que chaque objet (recette) varie de l'autre
J'ai essayé de boucler à travers la matrice initiale d'objets, puis bouclez à chaque objet individuel et à obtenir uniquement les ingrédients disponibles par objet (recette), mais je ne sais pas comment poussez-les dans des matrices séparées. Chaque fois que j'appuie, tous les ingrédients de tous les objets sont poussés dans un seul tableau. P> J'ai pu boucler et obtenir chaque ingrédient de chaque objet (recette) mais ont été incapables de les pousser dans des tableaux séparés sans avoir à définir plusieurs tableaux. Existe-t-il une façon de repousser tous les ingrédients d'un objet (recette) dans une matrice distincte sans avoir d'autres ingrédients d'un autre objet (recettes) ajouté? Je ne veux pas définir plusieurs tableaux car je travaille avec une API et je ne connais pas les résultats de la recherche attendus tout le temps Résultats de la recherche montrant un tableau d'objets p> p>
3 Réponses :
juste pousser obj, pas y [obj]. Probablement, je ne comprends pas la tâche. Et utiliser au lieu d'entrer dans. Ou voulez-vous obtenir des sous-chaînes d'ingrédient de l'objet? P>
poussant obj au lieu de y [obj] fait la même chose. J'essaie de pousser tous les ingrédients pour la recette A dans un tableau, puis poussez tous les ingrédients de la recette B dans un tableau sans avoir à déclarer deux tableaux distincts
D'accord, où créez-vous le deuxième tableau dans votre code? Vous poussez chaque recette à un membre de la classe. À propos de quel second tableau parle-t-il?
Je n'ai qu'un seul tableau parce que je travaille avec une API et je ne sais pas combien d'objets chaque recherche apportera pour que je me demandais si je peux continuer à utiliser ce même tableau encore et encore
Que diriez-vous de la matrice de deux dimensions ou de la carte? Chaque recherche réussie ajoutera une sous-réseau de vos données au tableau de classe.
S'il vous plaît comment puis-je y aller?
for(let y of resultsarray){
ingrSub: Array<any> = new Array();
for(let obj in y){
if(obj.includes('strIngredient')){
if(y[obj]!=null){
if(y[obj].length > 0){
ingrSub.push(y[obj])
console.log(this.ingArray)
}
}
}
}
if(ingrSub.length > 0)
this.ingArray.push(ingrSub)
else
ingrSub = null;//just to be sure that we do not leak the memory if engine thinks the oposite in some case
}
Merci mais utiliser un NGFOR affiche toujours tous les ingrédients et non à chaque ingrédient de la recette
Mais s'il vous plaît pouvez-vous expliquer ce que INGRSUB: tableau
Bien sûr, il déclare un nouvel objet de tableau local, mais pas comme membre de classe. Ensuite, vous remplissez ce tableau avec vos valeurs et ajoutez la référence de cette matrice au tableau des membres de la classe.
this.array_a = [] <- this add your array
this.array_b.forEach(array_b_item => {
array_b_item.new_variable = JSON.parse(
JSON.stringify(this.array_a)
);
});
you can add values indivualy to array_b
Pouvez-vous partager la structure de données de résultat de la recherche ou partager un résultat d'échantillon au format JSON?
Trop long mais pouvez-vous vérifier ce lien -> i.stact.imgur.com/s6iwu.png < / a>