Mam następującą tablicę:płaskim tablica do multi tablicy wymiarowe (JavaScript)
var sampleArray = [
"CONTAINER",
"BODY",
"NEWS",
"TITLE"];
chcę mieć następujący wynik:
var desiredOutput = [{
"CONTAINER": [{
"BODY": [{
"NEWS": [{
"TITLE": []
}]
}]
}]
}];
W jaki sposób można to osiągnąć w JavaScript?
Próbowałem już z pętlą rekurencyjną, ale to nie działa, daje mi niezdefiniowane.
dataChange(sampleArray);
function dataChange(data) {
for (var i = 0; i < data.length; i++) {
changeTheArray[data[i]] = data[i + 1];
data.splice(i, 1);
dataChange(changeTheArray[data[i]]);
}
}
Dzięki
pytający to zmienne bestie ;-) – Alnitak
Poszukałbym dodatkowej zmiennej tymczasowej, aby uniknąć dereferencji w drugiej linii twojej funkcji: 'let next = []; current.push ({[key]: next}); current = next' – Alnitak
@Alnitak: Tak, byłem trochę zaskoczony. Dobra sugestia :-) – Cerbrus