2 votes

Impossible de changer la valeur de la clé des objets en utilisant lodash

var flagsObj = {
  logical1Flag: false,
  operator1Flag: false,
  resourceLeftFlag: false,
  resource1Flag: false,
  resourceRightFlag: false,
};

dans l'objet ci-dessus, je voulais changer la valeur de l'un d'entre eux et le rendre vrai et le reste je voulais le rendre faux. j'ai utilisé cette fonction qui est mentionnée ci-dessous, cependant je suis capable de changer la valeur de l'utilisation des valeurs de la carte ou de la fonction foreach mais le flagsobj original ne reçoit pas de changements.

function settingFlag(val, keyF) { 
   const trueVal = val;
   const falseVal = false;
   const assignedKey = keyF;

_.mapValues(this.flagsObj, (value, key) => {
  if (key === assignedKey) {
    value = true;
  } else {
    value = false;
  }
  // console.log(value);
  console.log(`
    Flags
    ====
    key ${key} value ${value}
  `);
});

ou en utilisant le forEach pour manipuler les données

_.forEach(this.flagsObj, (value, key) => {
  if (key === assignedKey) {
    value = true;
    console.log(`
    flags
    =====
    key ${key} value ${value}
    `);
  } else {
    value = false;
  }
});
console.log('::::: FLAGS :::: ', flagsObj);
}

Les deux valeurs foreach ou map changent les valeurs requises mais le flagsObj original n'est pas modifié.

Toute fonction lodash qui résoudrait le problème serait appréciée. J'utilise l'application angular 1.5 es6.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X