ваш код зациклился.Я сначала ошибку допустил, написал
NAMESS.push[rand];
я же при помощи includes проверяю есть ли созданный элемент в массиве NAMESSВы проверяете, есть ли в массиве элемент этого массива. Ответ - всегда есть по определению.
NAMESS.splice(i,1, rand) вот так должно быть?
первый, который встретитсяА почему именно первый, а не последний? На чём должен быть основан выбор? Именно из-за такой неоднозначности стандарт SQL и не допускает использование в выборке полей, не входящих в условие группировки или не включённых в агрегатную функцию.
Вот то, что у разных type будет одна цена - это я вам даже гарантировать могу.Точно? И можете гарантировать, что во время изменения цены не произойдёт сбоя, при котором изменится цена только у части номеров? И что, если вдруг понадобится изменить категорию номера, то при этом не забудут изменить цену? Нормальные формы придуманы не случайно. Они позволяют, в том числе, минимизировать затраты на поддержание логической целостности базы.
Мне кажется, в 1 случае мы теряем сильно в производительностиА у вас уже есть проблемы с производительностью? При объединении (JOIN) таблиц по первичному ключу (или другому индексу) накладные расходы минимальны.