我想要这个字符串:
'Paris,Bruxelles,Amsterdam,berlin'
在数组中获取此结果:
['Paris_Bruxelles','Bruxelles_Amsterdam','Amsterdam_berlin' ]
有人可以帮我吗?
您可以分割字符串并切成数组并获取对。
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);
,
基本上,在功能语言中,您应该使用zipWith
函数,该函数接受的答案类似于JS中的副作用。
不过,您也可以在JS中模仿Haskell的模式匹配,并提出一种没有任何副作用的递归解决方案
var cities = "Paris,Berlin,Bayburt".split(/\s*,pairs = ([f,s,...rest]) => s == void 0 ? []
: [f + "_" + s].concat(pairs([s,...rest]));
console.log(pairs(cities));