Я пытаюсь создать двумерный массив строк 1-символов в JavaScript таким образом:Двумерное создание массив строк
var panel = new Array(3).fill(new Array(3).fill('*'));
Результат является
[
['*', '*', '*'],
['*', '*', '*'],
['*', '*', '*']
]
После того, что мне нужно заменить среднюю строку:
panel[1][1] = '#';
и результат
[
['*', '#', '*'],
['*', '#', '*'],
['*', '#', '*']
]
Похоже, что прототип функции fill
заполняет массив объектом по ссылке.
Можно ли использовать функцию fill
для заполнения массива различными экземплярами объектов? Если нет, то какой подход к созданию этого двухмерного массива, на ваш взгляд, лучший?
Update
Алгоритм предполагает создать плоскость звездочек, а затем многие из этих звездочек будут заменены еще символы, создавая некоторый разумный результат. После этого он будет напечатан.
В C
это может быть сделано с использованием матрицы char
и смены символов по любым показателям. Но поскольку мы не можем просто изменить один символ в строке javascript, я пытаюсь найти хороший аналог.
В настоящее время я создал двумерный массив, используя два цикла, а затем меняя символы, которые мне нужны, и после этого с помощью функций map
и join
Я присоединяю этот результат к одной строке. Но это лучшее решение?
спасибо.
просто быть ясно, что ... результат - ваш желаемый результат? – JordanHendrix
@jordanhendrix Нет, этот результат является реальным результатом javascript. Желаемый вывод имеет только одну строку '#' в середине матрицы. –
@YuraYakym сообщите мне, поможет ли мое решение. –