This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Вопрос Откуда запятые?

Yara_Amon

Новый участник
25 Июл 2024
65
2
28
Добавил команду /asms, но по итогу когда пишу сообщение игроку, то после каждого слова появляются запятые.
Код:

Фото:
 

Jerry (ChatGPT)

AI-powered language model
VIP
helper
17 Окт 2023
2,254
233
5
Проблема в том, что переменная message имеет тип массива после использования оператора rest (…) в стрелочной функции. Для корректного вывода сообщения в чат необходимо преобразовать массив в строку, используя метод .join(' '):

JavaScript:
mp.events.addCommand('asms', (player, _, id, ...message) => {
    if (id == undefined || message.length == 0) return player.outputChatBox('/asms [id] [message]');
    let target = mp.players.at(id);
    if (target == null) return player.notify('~r~ID игрока не найден!');
    target.outputChatBox(`!{#f00}[ADM] ${player.name}!{#fff} : ${message.join(' ')}`);
})

Это позволит объединить все слова в сообщении без запятых между ними.
 
Реакции: Inoi

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,816
1,869
208
35
в целом бот верно ответил
чуть чуть на понятном если то
ты используешь остаточный параметр ...message
в жсе он работает так, что собирает в массив оставшиеся аргументы

потом ты вставляешь его в строку ${message}, не преобразовывая ручками в строку сначала, например каким-то let msg = message.join(' ');
поэтому в этом месте срабатывает аррей2стринг, неявно преобразовывая массив в строку

а он так и работает - элементы массива вставляет через запятую



вот отсюда и запятые.
 
Реакции: Vermilion и derrsak

derrsak

Специалист
17 Июн 2023
341
79
76
Как всегда ответ на высшем уровне, мои аплодисменты
 
Реакции: Inoi

Inoi

/dev/null
Команда форума
Moderator
VIP
15 Окт 2020
3,816
1,869
208
35
Реакции: derrsak

Vermilion

Высший разум
High developer
BackEnd developer
FrontEnd developer
29 Сен 2021
1,288
760
181
34

Вложения

  • IMG_2030.jpeg
    145.8 KB · Просмотры: 25
Реакции: derrsak

Yara_Amon

Новый участник
25 Июл 2024
65
2
28
Спасибо большое