JavaScript
Js. Как создать матрицу 1000 на 1000 не обьявляя 1000 одномерных массивов построчно
есть такие страшные операторы циклов, while, for - они это, позволяют создать матрицу nXn строк в пять, причем n может быть ваще любым чЕслом, главное шоб памяти хватило. и даже заполнить эту матрицу сразу значениями.
const size = 10; // размер квадратной матрицы = 10
let matrix = [];
for (let i = 0; i < size; i += 1) {
matrix.push(new Array(size));
matrix[i].fill(0); // заполняем по умолчанию нулями
}
let matrix = [];
for (let i = 0; i < size; i += 1) {
matrix.push(new Array(size));
matrix[i].fill(0); // заполняем по умолчанию нулями
}
А двумерных там не предусмотрено?
Вениамин Вождаев
Это типо и есть двумерный масив. в с++ это легко можно было сделать int arr[1000][1000];
но js такого не допускает
но js такого не допускает
Вениамин Вождаев
Нашёл, вот код, для наглядности я ещё и инициализировал элементы массивов для наглядности:
var arr = new Array(1000);
for(var k =0; k<arr.length; k++) {
arr[k] = new Array(1000);
}
for(var i=0; i < arr.length; i++)
{
for(var j=0; j<arr[i].length; j++){
arr[i][j]= j;
document.write( arr[i][j]);
}
document.write("
")
}
document.write("
")
var arr = new Array(1000);
for(var k =0; k<arr.length; k++) {
arr[k] = new Array(1000);
}
for(var i=0; i < arr.length; i++)
{
for(var j=0; j<arr[i].length; j++){
arr[i][j]= j;
document.write( arr[i][j]);
}
document.write("
")
}
document.write("
")
const createArray = size => {
const result = [];
while (result.length < size) result.push(new Array(size));
return result;
}
createArray(1000);
const result = [];
while (result.length < size) result.push(new Array(size));
return result;
}
createArray(1000);
let x = 0;
let res = '';
for( let c = 0; c < 10; c++ ) {
for( let i = 0; i < 10; i++ ) {
i === x? res += i : res += 'X';
if( i === 9 ) res += '
'
}
x++;
}
document.write( res );
let res = '';
for( let c = 0; c < 10; c++ ) {
for( let i = 0; i < 10; i++ ) {
i === x? res += i : res += 'X';
if( i === 9 ) res += '
'
}
x++;
}
document.write( res );
Алексей Казиев
Стесняюсь спросить, что это за бред?)
function createArray(length) {
var arr = new Array(length || 0),
i = length;
if (arguments.length > 1) {
var args = Array.prototype.slice.call(arguments, 1);
while(i--) arr[length-1 - i] = createArray.apply(this, args);
}
return arr;
}
createArray(); // [] or new Array()
createArray(2); // new Array(2)
createArray(3, 2); // [new Array(2),
// new Array(2),
// new Array(2)]
var arr = new Array(length || 0),
i = length;
if (arguments.length > 1) {
var args = Array.prototype.slice.call(arguments, 1);
while(i--) arr[length-1 - i] = createArray.apply(this, args);
}
return arr;
}
createArray(); // [] or new Array()
createArray(2); // new Array(2)
createArray(3, 2); // [new Array(2),
// new Array(2),
// new Array(2)]
Похожие вопросы
- Старые добрые массивы. js
- Программа на js.Матрицы.Замена двух столбцов.
- Как менять строки и столбцы в двумерном массиве JS
- Создал массив частиц в Canvas через JS, но никак не могу заставить отталкиваться частицы друг от друга...
- JS - как узнать, сколько раз переменная содержится в массиве?
- Как заполнить двумерный массив в JS.
- Помогите определиться с выбором нового языка (JS(TS) vs Java)
- Js фреймворки, что полезного можно для себя найти?
- В чем цель фреймворков js web?
- [HTML/CSS/JS] Как сохранять изменённые в .js данные оффлайн-сервера локально?
var arr = new Array(1000);
for(var k =0; k<arr.length; k++) {
arr[k] = new Array(1000);
}
for(var i=0; i < arr.length; i++)
{
for(var j=0; j<arr[i].length; j++){
arr[i][j]= j;
document.write( arr[i][j]);
}
document.write("
")
}
document.write("
")