1
votes

Concater deux tableaux dont l'un d'eux est également un tableau

Comment concat-on deux tableaux dont l'un d'eux est également un tableau. Cela ressemble à ceci

​​

["Completed", 0, 0, 0]
["Due", 1, 2, 2]
["Warning", 0, 0, 0]

Lorsque console.log, il imprimera:

["Completed0,0,0"]
["Due1,2,2"]
["Warning0,0,0"]

et je veux que le résultat ressemble à ceci:

let stat = [
  ["completed", "0", "0", "0"],
  ["due", "1", "2", "2"],
  ["warning", "0", "0", "0"]
]

let val = [
  [0, 0, 0],
  [1, 2, 2],
  [0, 0, 0]
]



var arr = [];
for (var i = 0; i < stat.length; i++) {
  var temp = [stat[i][0].concat([val[i]])];
  arr.push(temp);
}
console.log(arr)


4 commentaires

veuillez ajouter le résultat souhaité qui reflète les données fournies.


comment le résultat final est 0,0,0 pour tous?


Il reste probablement un " à la fin de la dernière ligne du résultat souhaité. Veuillez modifiez la question et corrigez-la.


Veuillez expliquer la nécessité de cela? Si vous faites simplement une boucle et valider chaque chiffre, vous n'avez pas besoin du deuxième tableau pour accéder à la sortie souhaitée, ou vouliez-vous que let stat = [["completed"], ["due"], [ "warning"]] pour commencer?


3 Réponses :



5
votes

let stat = [
  ["completed", "0", "0", "0"],
  ["due", "1", "2", "2"],
  ["warning", "0", "0", "0"]
]

let val = [
  ["0", "0", "0"],
  ["1", "2", "2"],
  ["0", "0", "0"]
]


var arr = [];
for (var i = 0; i < stat.length; i++) {
  var temp = stat[i].concat(
    val[i].filter(x => !stat[i].includes(x))
  );
  arr.push(temp);
}
console.log(arr);


0 commentaires

0
votes

Suivi de Commentaire de mplungjan , pourquoi ne pas utiliser un seul tableau?

stats = [
  ["completed", "0", "0", "0"],
  ["due", "1", "2", "2"],
  ["warning", "0", "0", "0"]
];

stats2 = stats.map(function (x) {
  return [
    x[0],
    parseInt(x[1], 10),
    parseInt(x[2], 10),
    parseInt(x[3], 10)
  ];
});

for (i = 0; i < stats2.length; i++) {
  console.log(JSON.stringify(stats2[i]));
}


1 commentaires

J'ai cherché comment analyser ces nombres sans découper le tableau mais je ne trouve pas le chemin. Je l'ai donc découpé en tranches, analysé, puis concaté. Merci de m'aider à nouveau!