Попълване на многомерни масиви по ред в JavaScript

В предишните примери всички числа в подмасивите бяха еднакви. Нека сега направим така, че числата да нарастват, ето така:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

За целта трябва да направим специална променлива-брояч, която ще увеличава стойността си с 1 при всяка итерация на вътрешния цикъл. Стойността на този брояч ние ще записваме в масива, ето така:

javascriptlet arr = [];
let k = 1; // брояч

for (let i = 0; i < 3; i++) {
  arr[i] = [];
  
  for (let j = 0; j < 3; j++) {
    arr[i].push(k); // записваме брояча
    k++; // увеличаваме брояча
  }
}

console.log(arr);

Може да опростим кода, като направим увеличението на брояча след присвояване:

javascriptlet arr = [];

for (let i = 0, k = 1; i < 3; i++) {
  arr[i] = [];
  
  for (let j = 0; j < 3; j++) {
    arr[i].push(k++);
  }
}

console.log(arr);

Обърнете внимание на това, че в този случай трябва задължително да е k++, а не ++k, тъй като вторият вариант първо ще изпълни увеличаване на брояча и едва след това запис в масива (т.е. в резултат масивът ще започне с две, а не с едно, ето така:

javascript[[2, 3, 4], [5, 6, 7], [8, 9, 10]])
Задание 1

Формулирайте с помощта на два вложени цикъла следния масив:

javascript[[1, 2], [3, 4], [5, 6], [7, 8]]
Задание 2

Формулирайте с помощта на два вложени цикъла следния масив:

javascript[[2, 4, 6], [8, 10, 12], [14, 16, 18], [20, 22, 24]]
Задание 3

Формулирайте с помощта на три вложени цикъла следния тримерен масив:

javascript[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
Задание 4

Авторът на следния код искаше да направи ето такъв масив:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

За целта беше написан следният код:

javascriptlet arr = [];

for (let i = 0; i < 3; i++) {
  arr[i] = [];
  
  for (let j = 0; j < 3; j++) {
    arr[i][j] = k;
    k++;
  }
}

console.log(arr);

Написаният код обаче не прави това, което е замислено. Намерете и поправете грешката на автора.

Задание 5

Авторът на следния код искаше да направи ето такъв масив:

javascript [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

За целта беше написан следният код:

javascriptlet arr = [];
let k = 1;

for (let i = 0; i < 3; i++) {
  arr[i] = [];
  
  for (let j = 0; j < 3; j++) {
    arr[i][j] = k;
  }
}

console.log(arr);

Написаният код обаче не прави това, което е замислено. Намерете и поправете грешката на автора.

Задание 6

Авторът на следния код искаше да направи ето такъв масив:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

За целта беше написан следният код:

javascriptlet arr = [];
let k = 1;

for (let i = 0; i < 3; i++) {
  arr[i] = [];
  
  for (let j = 0; j < 3; j++) {
    arr[i][j] = k;
    k--;
  }
}

console.log(arr);

Написаният код обаче не прави това, което е замислено. Намерете и поправете грешката на автора.

Задание 7

Авторът на следния код искаше да направи ето такъв масив:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

За целта беше написан следният код:

javascriptlet arr = [];
let k;

for (let i = 0; i < 3; i++) {
  arr[i] = [];
  
  for (let j = 0; j < 3; j++) {
    arr[i][j] = k;
    k++;
  }
}

console.log(arr);

Написаният код обаче не прави това, което е замислено. Намерете и поправете грешката на автора.

Задание 8

Авторът на следния код искаше да направи ето такъв масив:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

За целта беше написан следният код:

javascriptlet arr = [];

for (let i = 0, k = 1; i < 3; i++) {
  arr[i] = [];
  
  for (let j = 0; j < 3; j++) {
    arr[i][j] = k;
  }
}

console.log(arr);

Написаният код обаче не прави това, което е замислено. Намерете и поправете грешката на автора.

Задание 9

Авторът на следния код искаше да направи ето такъв масив:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

За целта беше написан следният код:

javascriptlet arr = [];

for (let i = 0, k = 1; i < 3; i++) {
  arr[i] = [];
  
  for (let j = 0, k++; j < 3; j++) {
    arr[i][j] = k;
  }
}

console.log(arr);

Написаният код обаче не прави това, което е замислено. Намерете и поправете грешката на автора.

Задание 10

Авторът на следния код искаше да направи ето такъв масив:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

За целта беше написан следният код:

javascriptlet arr = [];

for (let i = 0, k = 1; i < 3; i++) {
  arr[i] = [];
  
  for (let j = 0; j < 3; j++; k++) {
    arr[i][j] = k;
  }
}

console.log(arr);

Написаният код обаче не прави това, което е замислено. Намерете и поправете грешката на автора.

Задание 11

Авторът на следния код искаше да направи ето такъв масив:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

За целта беше написан следният код:

javascriptlet arr = [];

for (let i = 0, k = 1; i < 3; i++) {
  arr[i] = [];
  
  for (let j = 0; j < 3; j++) {
    arr[i][j] = ++k;
  }
}

console.log(arr);

Написаният код обаче не прави това, което е замислено. Намерете и поправете грешката на автора.

Задание 12

Авторът на следния код искаше да направи ето такъв масив:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

За целта беше написан следният код:

javascriptlet arr = [];
let k = 1;

for (let i = 0; i < 3; i++) {
  arr[k] = [];
  
  for (let j = 0; j < 3; j++) {
    arr[i][j] = k;
    k++;
  }
}

console.log(arr);

Написаният код обаче не прави това, което е замислено. Намерете и поправете грешката на автора.

Задание 13

Авторът на следния код искаше да направи ето такъв масив:

javascript[[1, 2, 3], [4, 5, 6], [7, 8, 9]]

За целта беше написан следният код:

javascriptlet arr = [];

for (let i = 0, k = 1; i < 3; i++) {
  arr[i] = [];
  
  for (let j = 0; j < 3; k++) {
    arr[i][j] = k;
  }
}

console.log(arr);

Написаният код обаче не прави това, което е замислено. Намерете и поправете грешката на автора.