Im convertir des tableaux en listes chaînées et en listes chaînées en tableaux. Mon problème est que j'obtiens le journal de console incorrect de la liste liée que je fais, mais le journal de console correct du tableau créé à partir de cette liste liée.Le programme génère uniquement une liste chaînée partielle au lieu de la liste chaînée entière
Dans le code ci-dessous, j'obtiens la sortie attendue de [1, 2, 3, 4, 5] à partir de listToArray(). Mais w/arrayToList(), ma sortie est {valeur: 1, reste: {valeur: 2, reste: {valeur: 3, reste: [Objet]}}}. Qu'est-il arrivé aux valeurs 4 et 5? Ils devraient être là parce que dans ce cas, listToArray() utilise une liste identique créée à partir de arrayToList().
var array = [1, 2, 3, 4, 5];
var arrayToList = function(arr) {
var list = {};
var head = list;
for (i = 0; i < arr.length; i += 1) {
list.value = arr[i];
list.rest = {};
if (i == arr.length - 1) {
list = null;
} else {
list = list.rest;
}
}
return head;
}
var listToArray = function(list) {
var arr = [];
var index = 0;
while(list.rest != null) {
arr[index] = list.value;
list = list.rest;
index += 1;
}
return arr;
}
console.log(listToArray(arrayToList(array)));
console.log(arrayToList(array));
Vous êtes incroyable. Merci pour l'aide! Affaire classée – nsun