Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Як оголосити двовимірний масив чисел?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)Найпростіший спосіб - `number[][]`, де `matrix` є масивом, кожен елемент `matrix[i]` є масивом чисел (`number[]`), а кожен елемент `matrix[i][j]` є конкретним числом (`number`). **Ключове:** еквівалентний, більш формальний запис - це `Array<Array<number>>`, зручний при складних типах.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення## 1. Найпростіший спосіб - `number[][]` ```javascript const matrix: number[][] = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], ]; ``` > Тут: > > - `matrix` - це масив; > - кожен елемент `matrix[i]` - це масив чисел (`number[]`); > - кожен елемент `matrix[i][j]` - це конкретне число (`number`). --- ### Перевірка типів ```javascript matrix[0][1]; // number matrix[1]; // number[] matrix[2][2] = 10; // можна matrix.push([11, 12, 13]); // додавання рядка matrix.push([1, "2", 3]); // Помилка: "2" не number ``` --- ## 2. Альтернатива через generic-запис ```javascript const grid: Array<Array<number>> = [ [1, 0], [0, 1], ]; ``` > Еквівалентно `number[][]`. > Просто інший (більш формальний) запис - зручний при складних типах. --- ## 3. Створення двовимірного масиву програмно ### Через `Array.from` ```javascript const rows = 3; const cols = 4; const matrix: number[][] = Array.from({ length: rows }, () => Array(cols).fill(0) ); console.log(matrix); // [ // [0, 0, 0, 0], // [0, 0, 0, 0], // [0, 0, 0, 0] // ] ``` --- ### Через вкладені цикли ```javascript const matrix: number[][] = []; for (let i = 0; i < 3; i++) { matrix[i] = []; for (let j = 0; j < 3; j++) { matrix[i][j] = i + j; } } ``` --- ## 4. Незмінна (readonly) матриця Якщо потрібно заборонити зміни: ```javascript const matrix: readonly (readonly number[])[] = [ [1, 2], [3, 4], ]; ``` > Тепер не можна ані змінити рядки, ані їхні елементи: ```javascript matrix[0].push(5); // Помилка matrix.push([5, 6]); // Помилка ``` --- ## 5. Тривимірні та більше масиви Той самий принцип: ```javascript const cube: number[][][] = [ [ [1, 2], [3, 4], ], [ [5, 6], [7, 8], ], ]; ``` > `number[][][]` = масив, де кожен елемент - `number[][]`. --- ## Підсумок | Що описує | Синтаксис | Приклад | | --- | --- | --- | | Масив чисел | `number[]` | `[1,2,3]` | | Масив масивів чисел (2D) | `number[][]` | `[[1,2],[3,4]]` | | Generic-форма | `Array<Array<number>>` | `[[1,0],[0,1]]` | | Незмінний 2D масив | `readonly (readonly number[])[]` | `[[1,2],[3,4]]` | | 3D масив | `number[][][]` | `[[[1,2],[3,4]]]` |Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.