0
votes

correspondant à deux objets par match partiel JavaScript

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?
  }
})


0 commentaires

3 Réponses :


0
votes

Utilisez Notation de support carré Code> Strong> pour attribuer la valeur.

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 _Error code> à la touche qui ciblera la clé requise dans erreur code> objet. p>

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);


0 commentaires

0
votes

Si vous utilisez une bibliothèque Lodash, reportez-vous à isequal et Intersection Fonctions


0 commentaires

0
votes

Je reçois la valeur clé de 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.

J'utilise ce code et travaillez: p>

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; 
  }
}


0 commentaires