映射连续元素
使用给定的函数fn
,对每个长度为n
的连续元素块进行映射。
- 使用
Array.prototype.slice()
从左侧移除n
个元素,得到新的数组arr
。 - 使用
Array.prototype.map()
和Array.prototype.slice()
,对arr
中每个长度为n
的连续元素块应用fn
函数。
const mapConsecutive = (arr, n, fn) =>
arr.slice(n - 1).map((v, i) => fn(arr.slice(i, i + n)));
mapConsecutive([1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 3, x => x.join('-'));
// ['1-2-3', '2-3-4', '3-4-5', '4-5-6', '5-6-7', '6-7-8', '7-8-9', '8-9-10'];