Je possède ce code dans ma fonctionComment extraire une valeur de propriété d'un objet appelé avec .find()?
let packName: string = respPack.find(a => {a.id == 'name_input'}).answer.replace(/ /,'_');
Ce que je suis en train de faire est de trouver l'objet en faisant correspondre l'identifiant et extraire la valeur de sa propriété de réponse. En ce moment je reçois une erreur me disant
ne peut pas lire la réponse de propriété de indéfini.
Est-ce que j'essaie de le faire de la bonne façon? Voici le reste de ma fonction pour que vous puissiez voir ce qui se passe.
saveResponses(){
const respPack = this.ResponseList;
const sendTarget: FirebaseObjectObservable<any> = this.afdb.object('/submissions');
let dataLoad:{ [prop : string]: Array<any> } = {};
let packName: string = respPack.find(a => {a.id == 'name_input'}).answer.replace(/ /,'_');
respPack.forEach(a => {
if(a.answer){
let data = { question: a.question, answer: a.answer, id: a.id };
dataLoad[packName].push(data);
}
else if(a.responses){
let dataChunk = { question: a.question, id: a.id, responses: Array<any> };
a.responses.forEach(resp => {
let respChunk = { response: resp.response, value: resp.value, id: resp.id };
dataChunk.responses.push(respChunk);
});
dataLoad[packName].push(dataChunk);
}
});
sendTarget.set(dataLoad);
}
Pouvez-vous utiliser '' === au lieu de '' ==? – edkeveked
Que devrait-il se passer si 'packName' est' undefined'? – guest271314