Je reçois un tableau d'objets du serveur. Mais mon application se casse parce que certains objets n'ont pas une structure juste une valeur nulle et ma logique dépend de la vérification de certaines clés d'objet pour faire une chose ou une autre. Voici un exemple d'un tableau que je reçois:
[{
clienTnames: {
firstName: 'Jack',
lastName: 'Jackson'
}
}, {
clienTnames: {
firstName: 'John',
lastName: 'Johnson'
}
}, {
clienTnames: null
}]
4 Réponses :
Vous pouvez créer un P> defaultobj code> avec toutes les propriétés par défaut. Ensuite, boucle via les éléments de matrice et de mise à jour qui ont Noms ClientNames Code> Configuration de la propriété sur NULL let array = [{clienTnames:{firstName:'Jack',lastName:'Jackson'}},{clienTnames:{firstName:'John',lastName:'Johnson'}},{clienTnames:null}]
const defaultObj = {
firstName: '',
lastName: ''
}
array.forEach(a => {
if(!a.clienTnames)
a.clienTnames = { ...defaultObj }
})
console.log(array)
N'utilisez pas de defaultobj code> car tous les éléments de tableau pointeront sur le même objet.
@Ritaj Ça ne le fera pas. Ça crée un clone à l'aide de la syntaxe de diffusion chaque boucle
Désolé j'ai commenté la mauvaise réponse. Vérifiez celui ci-dessous.
Vous pouvez faire quelque chose comme ceci:
p>
const data = [{ clienTnames: { firstName: 'Jack', lastName: 'Jackson' } }, { clienTnames: { firstName: 'John', lastName: 'Johnson' } }, { clienTnames: null }];
let output = [];
output = data.map(element => {
if (element.clienTnames) {
return element;
} else {
return { clienTnames: { firstName: '', lastName: '' } };
}
});
console.log(output); Il suffit d'utiliser une fonction de carte:
let array = [{
clienTnames: {
firstName: 'Jack',
lastName: 'Jackson'
}
}, {
clienTnames: {
firstName: 'John',
lastName: 'Johnson'
}
}, {
clienTnames: null
}];
let targetArray;
targetArray = array.map((item) => {
if(!item.clienTnames) {
return { clienTnames: { firstName: '', lastName: '' } }
}
return item;
})
N'utilisez pas de defaultobj code> car tous les éléments de tableau pointeront sur le même objet.
Que va-t-il arriver?
Si vous changez l'un des éléments, l'autre changera également.