J'ai ces 2 objets, où je souhaite modifier la valeur d'un 2e objet en cochant la valeur de l'objet 1er. Mais je suis coincé, j'ai préparé un échantillon ci-dessous
const inputs = { "firstname": "james", "lastname": "" } const errors = { firstname_error: false, firstname_error_msg: "first name is invalid", lastname_error: false, //make this true because inputs.lastname is false / empty string lastname_error_msg: "last name is invalid", } Object.entries(inputs).forEach(([key, value]) => { if(!value) { //how to make errors.lastname_error to true if inputs.lastname is false empty string? } })
3 Réponses :
Utilisez Un nom de propriété d'objet peut être n'importe quelle chaîne JavaScript valide ou tout ce qui peut être converti en une chaîne, y compris la chaîne vide. Cependant, tout nom de propriété qui n'est pas un identifiant JavaScript valide (par exemple, un nom de propriété disposant d'un espace ou d'un trait d'union, ou qui commence par un numéro) ne peut être accédé qu'avec l'utilisation du Notation de support carré strong> . Cette notation est également très utile lorsque les noms de propriété doivent être déterminés de manière dynamique (lorsque le nom de la propriété n'est pas déterminé avant l'exécution). P>
blockQuote> concaténate p> Notation de support carré Code> Strong> pour attribuer la valeur.
_Error code> à la touche qui ciblera la clé requise dans
erreur code> objet. p>
const inputs = {
"firstname": "james",
"lastname": ""
}
const errors = {
firstname_error: false,
firstname_error_msg: "first name is invalid",
lastname_error: false,
lastname_error_msg: "last name is invalid",
}
Object.entries(inputs).forEach(([key, value]) => {
if (!value) {
errors[`${key}_error`] = true;
}
});
console.log(errors);
Si vous utilisez une bibliothèque Lodash, reportez-vous à isequal et Intersection Fonctions P>
Je reçois la valeur clé de J'utilise ce code et travaillez: p> entrées code> et dans A pour le cycle I Vérifiez si vous utilisez la touche relative avec "_Error" dans
erreurs code> objet et la valeur ok
Entrées [clé] code> n'est pas vide.
const inputs = {
"firstname": "james",
"lastname": ""
}
const errors = {
firstname_error: false,
firstname_error_msg: "first name is invalid",
lastname_error: false, //make this true because inputs.lastname is false / empty string
lastname_error_msg: "last name is invalid",
}
for (const key in inputs) {
if (errors.hasOwnProperty(`${key}_error`) && !inputs[key]) {
errors[`${key}_error`] = true;
}
}