猿问

在 JavaScript 中以函数式风格将 elem 与 next one 连接起来

我想做这个:

["a","b","c","d"] -> ["ab","bc","cd"]

Join elem with next one 的函数风格完全一样,但在 JavaScript 中。

由于 JavaScript 没有sliding函数,我想知道最好的方法是什么。我可以用 做一些事情reduce,但由于我不是专家,所以会很麻烦,所以我想得到一些建议。


慕侠2389804
浏览 135回答 3
3回答

有只小跳蛙

您可以使用Array.from()创建一个长度比输入数组少 1 的数组const input = ["a", "b", "c", "d"],      length = input.length - 1,      output = Array.from({ length }, (_, i) => input[i] + input[i+1]);      console.log(output)

翻过高山走不出你

将每个元素映射到与 处的元素连接的自身i - 1,然后切掉结果中的第一个元素:const input = ["a","b","c","d"];const output = input  .map((elm, i, arr) => arr[i - 1] + elm)  .slice(1);console.log(output);

隔江千里

您可以使用Array.fill()和.map()方法来实现所需的结果见下面的代码片段const arr = ["a","b","c","d"];let res = new Array(arr.length-1).fill('').map((v,i)=>arr[i]+arr[i+1]);console.log(res);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答