Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый Вчера, 12:36
Новичок на форуме
Отправить личное сообщение для REAB Посмотреть профиль Найти все сообщения от REAB
 
Регистрация: 14.10.2023
Сообщений: 3

2-х мерный массив из объектов
Здравствуйте!

Пытаюсь сделать сабж, но код вообще зависает)
Или есть другой способ сделать 2-х мерный массив из Object'ов?

function CreateMatrix2D(Width, Height) 
{
    var MX = [];
 	
    while (Height--) 
	{
		var A = new Array();

		for (var x = 0; x < Width; ++x) 
		{
			var ID   = new Object();
			ID.Value = 0;
		
			A.push(ID);
		}

        MX.push(A);
    }
	
    return MX;
}
Ответить с цитированием
  #2 (permalink)  
Старый Вчера, 16:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,129

Сообщение от REAB
но код вообще зависает
вы что-то не договариваете ...
Сообщение от REAB
Или есть другой способ
function CreateMatrix2D(Width, Height) {
            return new Array(Height).fill(new Array(Width).fill({
                Value: 0
            }))
        }
        console.log(CreateMatrix2D(2, 3))
Ответить с цитированием
  #3 (permalink)  
Старый Сегодня, 13:44
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,751

рони, Так нельзя
new Array(Width).fill({Value: 0 })

Вот что получится
Один раз создастся объект {Value: 0 } и все элементы массива заполнятся ссылками на него, на единственный объект.
Надо
Array.from({length:Width}, () => {Value:0})

function CreateMatrix2D(Width, Height) {
	return  Array.from({length:Height},
			() => Array.from ({length: Width}, 
				() => {Value: 0}
			)
		)
}
console.log(CreateMatrix2D(2, 3))
Ответить с цитированием
  #4 (permalink)  
Старый Сегодня, 15:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,129

Сообщение от voraa
Надо
согласен.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как преобразовать массив объектов в массив массивов sovsem-nub Events/DOM/Window 4 12.05.2018 21:56
Массив объектов Tanya51 Общие вопросы Javascript 8 16.07.2017 14:41
Массив объектов JobLack Общие вопросы Javascript 3 08.06.2017 16:14
Массив объектов doox911 Библиотеки/Тулкиты/Фреймворки 6 16.01.2014 22:36
Массив объектов или объект объектов vladlen Общие вопросы Javascript 19 30.10.2010 03:10