-2
votes

Comment compter les valeurs dans un tableau imbriqué en JavaScript

J'ai un tableau imbriqué comme ci-dessous: xxx

Je veux obtenir le nombre de toutes les valeurs à l'intérieur de la colonne "Nombre" de la matrice imbriquée.

Le retour Le résultat devrait être comme: 61 (13 + 9 + 11 + 8 + 20) Y a-t-il un moyen de le faire dans JavaScript / React?


3 commentaires

S'il vous plaît visitez le centre d'aide , prenez le tour à Voir quoi et Comment demander . Faites des recherches, recherchez des sujets connexes sur vous? Si vous êtes coincé, postez un exemple de reproductible minimal de votre tentative, notant l'entrée et la sortie attendue à l'aide du [<>] Editeur d'extrait.


RTM


Ok ce que vous avez essayé et ce que vous avez mal tourné. Pouvez-vous nous montrer votre code. Veuillez également cliquer ici pour lire la suite Comment poser une question: Stackoverflow.com/help/how-to-ask - Il y a de fortes chances que votre question soit votée à la fois s'il n'y a pas de code ni d'informations supplémentaires du tout.


3 Réponses :


0
votes

Vous pouvez utiliser réduire () code> pour trouver la somme comme ci-dessous le code. Avant de faire cela, assurez-vous de supprimer le premier dans votre tableau, car c'est une chaîne. J'utilise shift () code> pour le supprimer. Au lieu de shift () code>, vous pouvez utiliser épissure () code>.

p>

var a = [
  ["States", "Count"],
  ["DISABLE", 13],
  ["DENY", 9],
  ["FAULTY", 11],
  ["OFF", 8],
  ["ON", 20]
];
a.shift(); // removing first element
var total = a.reduce((sum, item) => sum+=item[1], 0);
console.log(total);


1 commentaires

Je suppose que OP ne se soucie pas de la mutation de la matrice d'origine, mais ce sera mieux si vous pouviez calculer le total sans muter le tableau. Quelque chose comme a.slice (1) .Reduce ((somme, élément) => somme + = élément [1], 0); pour copier tout sauf tout sauf le reste.



0
votes

Si vous pouvez modifier la structure de données, vous voulez probablement avoir quelque chose comme: xxx pré>

si vous ne pouvez pas, cela devrait fonctionner: P>

const count = array.reduce((acc, cur) => acc += cur[1], 0);


1 commentaires

Plus simple de simplement retourner la nouvelle valeur de somme calculée const compte = array.reduce ((ACC, CUR) => ACC + CUR [1], 0);



0
votes
const countArr = [
    ["DISABLE", 13],
    ["DENY", 9],
    ["FAULTY", 11],
    ["OFF", 8],
    ["ON", 20]
  ]

  const sum = countArr.reduce((firstParam, secondParam) => {
      const [name, count ] = secondParam
      return firstParam + count
  }, 0) // 61
remove your first element in array then try this

0 commentaires