I\'m looking for an array method implementation named Array.window(n) that invoked on an array with parameter n, would give a contiguous overlappin
I think this would suffice:
function arrayWindow(array, n) {
if (array.length < n || n <= 0) {
return []
}
let arrayLength = array.length
let result = []
for (let i = 0; i < arrayLength; i++) {
let slicedArray = array.slice(i, n+i)
if (slicedArray && slicedArray.length === n) {
result.push(slicedArray)
continue
}
break
}
return result
}
let arr = [1, 2, 3, 4, 5, 6]
console.log(arrayWindow(arr, 2))
console.log(arrayWindow(arr, 3))
console.log(arrayWindow(arr, 4))
console.log(arrayWindow(arr, 5))
console.log(arrayWindow(arr, 10))
console.log(arrayWindow(arr, 0))