Dans le code JavaScript ci-dessous, je ne parviens pas à obtenir le résultat attendu. s'il vous plaît aidez-moi à résoudre le code donné. Veuillez vérifier la sortie attendue.
Dans le code JavaScript ci-dessous, je ne parviens pas à obtenir le résultat attendu. s'il vous plaît aidez-moi à résoudre le code donné. Veuillez vérifier la sortie attendue.
/* expected output will be record::: [ [5, 32, ['2020/11/14 13:29:30','-'], [2, 32, ['2020/11/14 13:29:30','-'], [3, 32, ['2020/10/10 13:33:49','-'] ]; */
$(document).ready(function(){ var record = []; var idarr = ['5','2','-','3','-']; var jobidarr = []; var userid = 32; var newlogtimedata = ["2020/11/14 13:29:30","-","2020/10/10 13:33:49","-"]; var newlogtimedataupdate = []; var logcnt = 1; var j=0; for(var i = 0; i < newlogtimedata.length; i++){ if(newlogtimedata[i] != "-"){ newlogtimedataupdate.push(newlogtimedata[i]); } } for(var i = 0; i < idarr.length; i++){ if(idarr[i] == "-"){ logcnt++; } else{ //for(var j = 0; j < idarr.length; j++){ record[[j]] = new Array(); record[[j]].push(parseInt(idarr[i])); record[[++j]]= new Array(); /* record[[j]].push(JSON.stringify(parseInt(userid))); record[[j]].push("-"); record[[++j]] = new Array(); record[[j]].push(newlogtimedataupdate[logcnt-1]); record[[j]].push("-"); */ j++; //} } } console.log("record:::", record); });
3 Réponses :
Je crois que c'est le résultat souhaité, je ne sais pas trop ce qu'il est censé représenter:
var idarr = ['5', '2', '-', '3', '-']; var userid = 32; var newlogtimedata = [ "2020/11/14 13:29:30", "-", "2020/10/10 13:33:49", "-" ]; const result = idarr.reduce((a, c, i) => { if (c === '-') return a; a.push([ parseInt(c, 10), userid, [ newlogtimedata[i] === '-' ? newlogtimedata[i - 1] : newlogtimedata[i], '-' ] ]); return a; }, []); console.log(result)
Essaye ça:
let myArray = [ ['cake', 'cookie'], ['car', 'plane', 'train'] ];
Pour accéder aux données dans des tableaux multidimensionnels, il ressemble à ceci myArray[2][1]
.
Exemple: voici un tableau multidimensionnel avec des valeurs aléatoires:
for(var j = 0; j < idarr.length; j++){ record.push([ parseInt(idarr[i]), userid, [newlogtimedataupdate[logcnt - 1], '-'] ]); }
Pour accéder aux éléments à l'intérieur de myArray
, vous sélectionnez d'abord l'index de l'un des tableaux internes. Cela signifie que myArray[0]
ressemble à: ['cake', 'cookie']
, et maintenant vous pouvez sélectionner les éléments à l'intérieur du tableau interne comme ceci: myArray[0][1]
(qui est 'cookie'
).
Vous pouvez utiliser deux index pour les tableaux et choisir un élément tant qu'aucun sparator ne vient.
.as-console-wrapper { max-height: 100% !important; top: 0; }
let idarr = ['5', '2', '-', '3', '-'], userid = 32, newlogtimedata = ["2020/11/14 13:29:30", "-", "2020/10/10 13:33:49", "-"], SEPARATOR = '-', record = [], i = 0, j = 0; while (i < idarr.length && j < newlogtimedata.length) { record.push([idarr[i], userid, [newlogtimedata[j], '-']]); if (idarr[i + 1] === SEPARATOR && newlogtimedata[j + 1] === SEPARATOR) { i += 2; j += 2; continue; } if (idarr[i + 1] !== SEPARATOR) i++; if (newlogtimedata[j + 1] !== SEPARATOR) j++; } console.log(record);
d'où vient
'-'
du tableau de dates?Le considérer comme une valeur de hardcode