0
votes

Comment obtenir la longueur d'une clé conditionnelle dans un tableau d'objet en utilisant réagir JS

J'ai un éventail d'objets avec taille> 0. Désormais sur la longueur de la valeur de la touche code> de la touche code> de tous les objets, je dois contrôler les éléments DOM.

(7) [{…}, {…}, {…}, {…}, {…}, {…}, {…}]
    0:
    id: "xxx"
    accreditation: "xxxx xxx xxx"
    institution: "xxxx xxx xxx xxxx xxx xxx"
    location: "xxxx xxx xxx"
    dateStart: "1982-06-01 00:00:00"
    dateEnd: "1984-06-01 00:00:00"
    description: "xxxx xxx xxx"
    award: "xxxx xxx xxx"
    isTraining: "0"


0 commentaires

5 Réponses :


1
votes

Vous pouvez utiliser une boucle foreach code> et continuer à incrémenter les comptes de variable.

comme ceci strong> p> xxx pré>

edit strud> p>

Vous pouvez simplifier en utilisant Réduire Code> Funciton: P>

let [isTrainingTrue, isTrainingFalse] = myArray.reduce((a,v,i) => {
    v.isTraining === "1" ? a[0] += 1 : a[1] += 1;
    return a;
},[0,0]);

console.log('isTrainingTrue', isTrainingTrue, isTrainingFalse);


1 commentaires

Merci, mais y a-t-il un moyen simple d'écrire en ligne juste pour vérifier quelque chose comme ceci: {((((((((((((((((EDU) => edu.istrabining === 0) .length> 0) && (candidat .EDUCATION.FILTER ((EDU) => EDU.ITINAGE === 1) .Length> 0))



1
votes

Array Réduisez dans un objet à l'aide de la valeur de la chaîne code> de la chaîne em> comme em> les touches de résultat.

p>

const data = [
  { isTraining: "0" },
  { isTraining: "1" },
  { isTraining: "1" },
  { isTraining: "0" },
  { isTraining: "1" },
  { isTraining: "0" },
  { isTraining: "1" },
  { isTraining: "0" },
  { isTraining: "1" },
  { isTraining: "1" },
];

const res = data.reduce((acc, { isTraining }) => {
  acc[isTraining]++;
  return acc;
}, {"0": 0, "1": 0});

console.log(res)


0 commentaires

1
votes

Vous pouvez utiliser la méthode "Filtre" pour filtrer les objets en fonction de la condition donnée, comme suivez

{
    items.filter(item => {
        return item.isTraining === "0";
    }).map(item => { return (<li key={item.id}>{ item.id }</li>);
}


0 commentaires

1
votes

la plus concise, utilisez array.pototype.reduce xxx


0 commentaires

1
votes

Vous pouvez utiliser array.filter ()

p>

let array = [{
  id: 1,
  isTraining: 0
}, {
  id: 2,
  isTraining: 0
}, {
  id: 3,
  isTraining: 1
}, {
  id: 4,
  isTraining: 0
}, {
  id: 5,
  isTraining: 1
}];

let length = array.filter(item => item.isTraining === 0).length


0 commentaires