我想做这个:["a","b","c","d"] -> ["ab","bc","cd"]与Join elem with next one 的函数风格完全一样,但在 JavaScript 中。由于 JavaScript 没有sliding函数,我想知道最好的方法是什么。我可以用 做一些事情reduce,但由于我不是专家,所以会很麻烦,所以我想得到一些建议。
3 回答
有只小跳蛙
TA贡献1824条经验 获得超8个赞
您可以使用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)
翻过高山走不出你
TA贡献1875条经验 获得超3个赞
将每个元素映射到与 处的元素连接的自身i - 1,然后切掉结果中的第一个元素:
const input = ["a","b","c","d"];
const output = input
.map((elm, i, arr) => arr[i - 1] + elm)
.slice(1);
console.log(output);
隔江千里
TA贡献1906条经验 获得超10个赞
您可以使用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);
添加回答
举报
0/150
提交
取消