Probleme met die vul van multidimensionele skikkings in JavaScript
Kom ons kyk na die volgende kode:
let arr = [];
for (let i = 0; i < 3; i++) {
arr[i] = []; // let op hierdie reël
for (let j = 0; j < 3; j++) {
arr[i].push(j + 1);
}
}
console.log(arr);
In hierdie kode speel die skepping van 'n leë subskikking 'n belangrike rol. Ons kan nie hierdie reël laat vaar nie, want dan sal die poging om data in arr[i] te "push" in die binne-lus 'n fout lewer.
Die outeur van die volgende kode wou 'n tweedimensionele skikking maak:
let arr = [];
for (let i = 0; i < 3; i++) {
for (let j = 1; j <= 5; j++) {
arr[i].push(j);
}
}
console.log(arr);
Die geskrewe kode doen egter nie wat bedoel is nie. Vind en regverdig die outeur se fout.
Die outeur van die volgende kode wou 'n tweedimensionele skikking maak:
let arr = [];
for (let i = 0; i < 3; i++) {
arr[i] = '';
for (let j = 1; j <= 5; j++) {
arr[i].push(j);
}
}
console.log(arr);
Die geskrewe kode doen egter nie wat bedoel is nie. Vind en regverdig die outeur se fout.
Die outeur van die volgende kode wou 'n tweedimensionele skikking maak:
let arr = [];
for (let i = 0; i < 3; i++) {
arr[i];
for (let j = 1; j <= 5; j++) {
arr[i].push(j);
}
}
console.log(arr);
Die geskrewe kode doen egter nie wat bedoel is nie. Vind en regverdig die outeur se fout.
Die outeur van die volgende kode wou 'n tweedimensionele skikking maak:
let arr = [];
for (let i = 0; i < 3; i++) {
arr[j] = [];
for (let j = 1; j <= 5; j++) {
arr[i].push(j);
}
}
console.log(arr);
Die geskrewe kode doen egter nie wat bedoel is nie. Vind en regverdig die outeur se fout.
Die outeur van die volgende kode wou 'n tweedimensionele skikking maak:
let arr = [];
for (let i = 0; i < 3; i++) {
arr = [];
for (let j = 1; j <= 5; j++) {
arr[i].push(j);
}
}
console.log(arr);
Die geskrewe kode doen egter nie wat bedoel is nie. Vind en regverdig die outeur se fout.
Die outeur van die volgende kode wou 'n tweedimensionele skikking maak:
let arr = [];
for (let i = 0; i < 3; i++) {
arr[i] = [];
for (let j = 1; j <= 5; j++) {
arr.push(j);
}
}
console.log(arr);
Die geskrewe kode doen egter nie wat bedoel is nie. Vind en regverdig die outeur se fout.