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