Вы передаете массив в качестве аргумента, так как вы используете Параметр Rest для параметра функции, значение x
станет [[1,2,3]]
. Теперь, когда вы используете map, на первой итерации v
будет [1,2,3]
, а [1,2,3] + 1
приведет к конкатенации строк, поскольку [1,2,3]
не является числом, а [1,2,3]
прикрывает строку, в результате получается строка с запятой разделенное значение.
Поэтому передайте аргументы как множественные или используйте простой параметр.
Как:
function F(x){ return x.map(v => x+1) }
или вызывать функцию вроде:
F(1, 2, 3)
// or
F(...[1, 2, 3])