Как работает Array.join, если разделитель является массивом в Javascript? - PullRequest
0 голосов
/ 20 декабря 2018

Я не могу понять, как работает Array.join, если разделитель является массивом в Javascript?Я нахожу подробное объяснение, как это работает.Мой пример ниже

arr1 = ['a','b','c'];
arr2 = ['d', 'e', 'f'];
arr1.join(arr2);

//Output
"ad,e,fbd,e,fc"

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

JavaScript - гибкий язык.Если он получит что-то отличное от ожидаемого, он попытается преобразовать переданное значение в ожидаемую форму / тип.

Начиная с Документы , метод массива .join()ожидает, что строка в аргументе будет использоваться в качестве разделителя для объединения элементов массива.Если вы передадите ему массив, JavaScript внутренне преобразует этот массив в строку, вызывая .toString() метод Arrays.И эта возвращенная строка, т.е. d,e,f будет использоваться в качестве разделителя для объединения элементов во внешнем массиве.

0 голосов
/ 20 декабря 2018

Метод join принимает разделитель, и вы передаете массив в качестве разделителя.Итак, метод объединения сначала преобразует его в строку: 'd, e, f'

Таким образом,

ad,e,f
bd,e,f
c // last remains same - no join 
// as you may do like ['a','b','c'].join('-') results a-b-c

И конечный результат:

ad,e,fbd,e,fc

Вы можете прочитать эту заметку в документах :

Разделитель

Указывает строку для разделения каждой пары смежных элементов массива.Разделитель преобразуется в строку при необходимости.Если опущено, элементы массива разделяются запятой (",").Если разделитель - пустая строка, все элементы объединяются без каких-либо символов между ними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...