Je cherche à mapper sur un tableau pour créer un nouveau tableau avec les propriétés pertinentes sorties. J'ai accédé avec succès à mes contacts sur mon téléphone et que je souhaite appuyer sur les données dans une structure plus organisée. Comment mapper Over Warray dans pour accéder à la matrice en utilisant les premières valeurs pour les numéros de courrier électronique et de téléphone si elles sont présentes? Vous trouverez ci-dessous un exemple de réseau de contacts:
tableau dans strong> p> J'aimerais retrouver avec ce qui suit:
array out strong> p> J'ai mappé sur la matrice pour créer une liste de contacts et que je sélectionne chacun de ceux que je veux le pousser dans l'état . Ma collation est ici pour référence: https://snack.expo.io/@fauslyfox110/testingreferrals a> p> Ne cherche personne à faire ma collation pour moi, juste pour m'aider à passer à la partie de matrice pour aller de la matrice dans le tableau. P> réponse qui a fonctionné strong> p>
3 Réponses :
Cela clarifie-t-il?
p>
let inputArray = [{name: 1}, {name: 2}]
let outputArray = inputArray.map(inputArrayItem => { return {name: inputArrayItem.name}; });
console.log(outputArray );Votre tableau dans ses erreurs de syntaxe. Je n'ai pas fait de carte mais je l'ai fait dans une boucle pour la boucle à la place, mais cela ressemble à ceci.
let arrayIn = [
{phoneNumbers:[
'+3476859087',
'+4567893214'
],
lookupKey:"12345",
company:"PHONE",firstName:"John",contactType:"person",name:"John Smith",id:"879",
emails:[
'johnSmith@gmail.com'
],
lastName:"Smith",
},
{phoneNumbers:[
'+3476859087',
'+4567773214'
],
lookupKey:"890744",
company:"PHONE",firstName:"Carl",name:"Carl Johnson",id:"879",
emails:[
'cjohnsonh@gmail.com'
],
lastName:"johnson",
}
]
let arrayOut = []
for(let i = 0; i < arrayIn.length; i++){
let contact = {
name: arrayIn[i].name,
phone: arrayIn[i].phoneNumbers[0],
email: arrayIn[i].emails[0],
}
arrayOut.push(contact);
}
console.log(arrayOut);
Vous avez eu des erreurs de Sytax dans vos données, principalement que vous utilisiez J'ai utilisé un p> [] code>, puis affectant clé: valeur em> paires, qui appartiendrait dans un objet - I ' ve échangé le [] code> pour {} code> dans ce cas .ReRuce () Code> Pour itérer via vos données et renvoyer le tableau souhaité. Je n'étais pas sûr de la façon dont vous vouliez le numéro de téléphone manipulé, je retourne simplement le premier P> const arrayIn = [{
phoneNumbers: [{
label: 'work',
number: '+3476859087'
}, {
label: 'mobile',
number: '+4567893214'
}],
lookupKey: "12345",
company: "PHONE",
firstName: "John",
contactType: "person",
name: "John Smith",
id: "879",
emails: [{
email: 'johnSmith@gmail.com'
}],
lastName: "Smith",
},
{
phoneNumbers: [{
label: 'mobile',
number: '+3476859087'
}, {
label: 'work',
number: '+4567773214'
}],
lookupKey: "890744",
company: "PHONE",
firstName: "Carl",
name: "Carl Johnson",
id: "879",
emails: [{
email: 'cjohnsonh@gmail.com'
}],
lastName: "johnson",
}
]
let arrayOut = arrayIn.reduce((acc, {
name,
phoneNumbers,
emails
}) => {
return [...acc, {
'name': name,
'phone': phoneNumbers[0]['number'].replace('+', ''),
'email': emails[0].email
}];
}, []);
console.log(arrayOut);
Désolé que j'étais mon erreur lors de l'affichage de la question, le tableau a imbriqué des matrices imbriquées non des objets avec [] vs {}
Ahh je viens de mettre à jour le tableau, mais votre réponse doit fonctionner avec simplement le numéro de référencement au lieu de zéro. Je vais vérifier rn
Quel est votre problème spécifique avec les données?