Je me demandais s'il est possible de déstructurer un objet imbriqué sans connaître la clé de l'objet parent?
La raison de ce faire est que les erreurs de validation de la mangouste renvoient un objet dans les erreurs code> clé et chaque entrée de cet objet est un autre objet dans lequel la clé est le nom du champ qui a une erreur. p> donc le résultat peut donc être quelque chose comme p> let message = {}
for (var k in data) {
var { path, name } = data[k]
message[path] = name
}
4 Réponses :
Vous pouvez prendre les valeurs et cartographier de nouveaux objets. Attribuez ensuite tous les objets à un seul objet.
p>
const data = { name: { path: 'name', name: 'The error message' }, email: { path: 'email', name: 'Another error message' } } result = Object.assign({}, ...Object .values(data) .map(({ path, name }) => ({ [path]: name })) ); console.log(result);
Pas assez de description pour le processus de codage
J'ai mis à jour la description avec la sortie que j'aimerais réaliser.
Utiliser p> objet.values code> comme:
const data = { name: { path: 'name', name: 'The error message' } };
const { path, name } = Object.values(data)[0];
console.log(path);
console.log(name);
const data = { name: { path: 'name', name: 'The error message' } } const {path, name} = Object.values(data)[0]; console.log(path, name);
Oui, vous pouvez faire à l'intérieur p> pour dans code> en prenant la clé et en accédant à la valeur et en accédant à la valeur et à la destructurer
const data = {
name: {
path: 'name',
name: 'The error message'
}
}
for(let key in data){
let { path, name } = data[key]
console.log('name --->',name)
console.log('path --->',path)
}
Pouvez-vous montrer le résultat attendu?
Que feriez-vous la destructeur?
Vous ne pouvez pas vous déshabiller à travers une boucle, bien que vous peut i> récupérer la valeur sans vous déshabiller. Qu'est-ce qui varie exactement dans le code que vous avez posté et quelle est la sortie souhaitée?
@Certeperferformance J'ai mis à jour le code.
Changer au message
[chemin] = nom code> et ça marche
@Certeperformance, alors c'est le moyen unique de le faire, non? Donc, il est probablement préférable d'éviter la déstructuration et le message
[Data [k] [Chemin] = DATA [K] [NOM] CODE>?
Cela a l'air un peu déroutant, je préfère votre méthode actuelle avec la déstructuration (changez simplement à la notation de support)