J'ai 2 tableaux (tableau 2 est multidimensionnel) qui ressemblent à ceci: Les matrices seront toujours la même longueur. P> Qu'est-ce que j'essaie de Est-ce que cela accumule les valeurs dans chaque position de matrice. Ils doivent donc ressembler à ceci: P> Le tableau final prendra la valeur de la ligne ci-dessus et accumulera la valeur vers le bas. < / P> J'ai essayé d'utiliser la carte et que je pense que je pense que la matrice 2 est multidimensionnelle et que je suis toujours novice avec JS, je ne peux pas le faire fonctionner. Toute aide serait appréciée. p> C'est ce que j'ai déjà essayé: p> qui me donne ceci: p> Ce qu'il fait, c'est ajouter le premier élément du tableau 2 (33) à chaque valeur de la matrice 1. P> p>
3 Réponses :
ne fonctionne que avec des tableaux de même longueur.
Vous devez faire boucle à l'intérieur de chaque tableau pour chaque index de matrice obtenir la valeur et les résumer. p>
update strong> p> n'a pas reçu ce que vous vous attendiez à la première fois. Script mis à jour p> p> var array1 =
[1795, 3449, 41, 1261, 99, 38162, 36, 7, 2768, 53, 1800]
var array2 =
[[33, 0, 0, 433, 17, 2388, 0, 0, 0, 0, 0],
[508, 0, 0, 242, 36, 800, 0, 0, 5, 0, 0],
[285, 0, 0, 0, 0, 1600, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 1700, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
var summedArray = array2.map(arr => arr.map((subArr,i) => subArr +array1[i]))
console.log(summedArray)
Utilisez le premier tableau (appelons-le ACC code>) en tant qu'accumulateur tout en mappant le tableau imbriqué (
Tableau code>) à une mode imbriquée:
const result = table.map(row => row.map((value, index) => acc[index] += value));
Les balises de la question incluent Google-Apps-script . En supposant que le but de l'OP était d'ajouter du contexte à la question, votre solution proposée ne peut pas être utilisée car Google Apps Script ne prend pas en charge les fonctions de la flèche.
Nous pouvons également utiliser Array.Reduce pour obtenir le même résultat.
p>
var arr1 = [1795, 3449, 41, 1261, 99, 38162, 36, 7, 2768, 53, 1800]; var arr2 = [ [33, 0, 0, 433, 17, 2388, 0, 0, 0, 0, 0], [508, 0, 0, 242, 36, 800, 0, 0, 5, 0, 0], [285, 0, 0, 0, 0, 1600, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1700, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ]; var sumArr = arr2.reduce( function(acc, curr) { acc.push( acc[acc.length - 1].map(function(col, idx) { return col + curr[idx]; }) ); return acc; }, [arr1] //Initialize Array1 as a 2D array. ); console.log(sumArr);
Qu'avez-vous effectivement essayé d'y parvenir? Ajoutez votre code.
Alors ... est la première ligne remplacée par Array1?
@Ruben Apps-Script Script signifierait la syntaxe ES3.
Les balises Afaik devraient être dérivées du contenu des réponses de questions / pertinents. Aucun d'entre eux de ce fil ne mentionne qu'une version javascript spécifique ou une plate-forme connexe. Qu'est-ce que vous faites considérer que Google-Apps-script doit être inclus dans cette question? Avez-vous remarqué qu'il s'agit déjà d'une réponse à l'aide de fonctions de flèche postées avant mon édition? Au fait, nous avons ECMAScript-3 .
@Ruben Merci de votre réponse. Bien que cela ne soit pas explicitement mentionné dans la question elle-même, je pense que OP incluait la balise pour nous dire qu'il s'agit de Google-Apps-Script. tour page dit
toutes les questions sont étiquetées avec leurs domaines code>. Si OP le considère comme une zone, et la balise n'est pas non liée à la question à la main, je ne pense pas qu'il soit supprimé en fonction du contenu de la réponse.
@Themaster IMHO "Sujets" devrait être dérivé du contenu. A cette époque, la réponse acceptée et la question n'incluent rien sur Google-Apps-script et < Un href = "https://stackoverflow.com/questions/tagged/google-sheets"> Google-feuilles
@Ruben je respecte votre opinion. Mais, es-tu d'accord pour dire que la question pourrait toujours être sur "usage des tableaux" dans Google-Apps-script ? Ou si JavaScript n'a pas été étiqueté à l'origine, pensez-vous qu'il s'agit toujours d'une question valable avec une seule balise Google-Apps-Script? Je pense que les tags font partie du contenu de la question. Les gens ne devraient pas avoir besoin d'énoncer explicitement les étiquettes dans la question suivante: "J'utilise Python pour ainsi dire" dans le corps de la question. Je pourrais avoir tort pendant toute la question, voyant que je suis relativement un nouveau membre, mais ce sont mes pensées.
@Themaster je respecte votre opinion aussi. Je suis d'accord avec vous que vous pourriez avoir tort;) aussi bien moi ou même les deux pour nous. Pensez simplement à cela, le contenu (question et les réponses pertinentes) règle, le titre de la question et les balises devraient le suivre.