У меня есть сообщение вида:
var message = 'hello.there, "how are you, doing" '
Что нужно разделить по первому вхождению ',', чтобы у меня было два объекта, а именно 'hello.there'(param 1) и "how are you, doing(param 2)", так что param 2 должен быть списком arguments(length=1), а пробелы должны быть сохранены?
Я пробовал что-то вроде
var param2 = message.split(/,(.+)/)[1]
но это приведет к тому, что param2 будет строкой, а не списком аргументов.
Чтобы добавить еще один пример Допустим, у меня есть сообщение var mess = hello.there, "how are you, doing", 12, тогда должно произойти разделение, чтобы полученный параметр 2 был списком, состоящим из `как дела, дела и 12 длиной 2, а не 3.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Просто найдите первую запятую, а затем подстановку:
const pos = message.indexOf(",");
const param1 = message.substr(0, pos);
const param2 = message.substr(pos);
Или, если param2 должен быть массивом других строк, разделенных запятой:
const [param1, ...param2] = message.split(",");
Вам нужно будет найти индекс первого ,, нарезать строку по этому индексу, а затем разделить второй фрагмент на ,:
var i = message.indexOf(','); //find the index of the first ,
var param1 = message.slice(0,i); //param1 is the slice from 0 to i
var param2 = message.slice(i+1).split(','); //param2 is the slice from i+1 splitted at ,
Кстати, есть и другие способы разбиения массива по первому вхождению токена. Это сообщение SO может вас заинтересовать.
"should be a list of arguments...", поясните, пожалуйста, в этой части, что это за список и аргументы?