Comment puis-je obtenir le tableau «adresse» dans l'objet de réponse de demande ci-dessous?
{
"title": "MRS.",
"name": "Aluno",
"lastName": "3",
"birthday": "2019-08-31",
"address": [
{
"addressName": "rua 2",
"zipCode": "13901264",
"city": "amparo",
"state": "sp",
"country": "brasil"
},
{
"addressName": "rua 2",
"zipCode": "13901264",
"city": "amparo",
"state": "sp",
"country": "brasil"
},
]
}
Si j'enregistre cet objet dans un état appelé customer et imprime console.log (customer.address) cela fonctionne bien et je peux voir les informations d'adresse, mais je ne peux pas utiliser les méthodes map ou forEach comme customer.address.forEach, je reçois une erreur :(
3 Réponses :
Vous pouvez utiliser des méthodes telles que map, reduce, filter, forEach uniquement sur un Array non sur un Object .
l' address clé a une valeur en tant object , pour la lire, vous pouvez simplement utiliser
Object.values(customer.address).forEach((value) => {
console.log(value);
})
// OR
Object.keys(customer.address).forEach((key) => {
console.log(customer.address[key]);
})
Si vous souhaitez parcourir les propriétés
console.log(customer.address.addressName) //street x console.log(customer.address.zipCode) //13901264
Pouvez-vous mettre à jour la question avec la réponse / sortie attendue?
J'ai demandé mal, je veux obtenir l'objet d'adresse à la place du tableau d'adresses haha
Bien, regardez la question. Je l'ai corrigé. Je veux obtenir le tableau d'adresses, désolé !!
La propriété ne lui address pas un tableau, si vous avez besoin de le convertir en un tableau d'un élément, vous pouvez utiliser:
const valueAsArray = [response.address]
Object.keys(out.address).map(key => {
console.log(out.address[key]);
// etc ...
})
l'
addressla propriété est un objet et non un tableau. C'est pourquoi les méthodes de tableau telles que forEach ne fonctionneront pas dessus,Object.values(customer.address)vous donnera un tableau de valeurs sur lesquelles vous pouvez utiliserforEach. De mêmeObject.keyspour obtenir un tableau des clés etObject.entriespour obtenir un tableau de paires[key, value]J'ai demandé mal, je veux obtenir l' objet d' adresse à la place du tableau d' adresses haha
Parfois, l'itération d'un objet bien défini est une odeur de code. Vous pouvez utiliser les propriétés directement
console.log(customer.address.addressName, customer.address.city)etc.Bien, regardez la question. Je l'ai corrigé. Je veux obtenir le tableau d'adresses, désolé !!
Quelle erreur obtenez vous? Pouvez-vous s'il vous plaît montrer plus de votre code, avec le code que vous avez maintenant, il devrait fonctionner. Vous essayez probablement d'accéder à l'
addressavant que lecustomern'ait été renseigné avec les donnéesj'essaye de faire quelque chose comme ça, uniquement pour accéder aux informations du tableau des réservations prntscr.com/vjrula
l'adresse dans le post-question est un exemple de ceci, de ce que je voudrais vraiment
Object.values(customer.reservations).forEach()s'exécutera avant votre callback useEffect et.then(), ce qui signifie quecustomer.reservationssera vide / non défini.Comment puis-je y remédier?