получить пары строк из строки - PullRequest
1 голос
/ 10 ноября 2019

Я хочу из этой строки:

'Paris , Bruxelles , Amsterdam , Berlin'

Получить этот результат в массиве:

['Paris_Bruxelles' , 'Bruxelles_Amsterdam' , 'Amsterdam_Berlin' ]

Может кто-нибудь помочь мнепожалуйста?

Ответы [ 2 ]

2 голосов
/ 10 ноября 2019

Вы можете разбить строку и нарезать массив и получить пары.

var string = 'Paris , Bruxelles , Amsterdam , Berlin',
    array = string.split(/\s*,\s*/),
    result = array.slice(1).map((s, i) => [array[i], s].join('_'));

console.log(result);
0 голосов
/ 11 ноября 2019

В основном на функциональных языках ожидается, что вы будете использовать функцию zipWith, где принятый ответ имитирует, что в JS с побочными эффектами.

Однако вы также можете имитировать сопоставление с шаблоном Haskell в JS и придуматьрекурсивное решение без каких-либо побочных эффектов

var cities = "Paris , Bruxelles , Amsterdam , Berlin , Bayburt".split(/\s*,\s*/),
    pairs  = ([f,s,...rest]) => s == void 0 ? []
                                            : [f + "_" + s].concat(pairs([s,...rest]));

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