(arr, size) => [...Array(Math.ceil(arr.length/size))].map(() => arr.splice(0, size))
(arr) => arr.filter(it => !!it)
(arr, values) => arr.concat(...values)
(arr1, arr2) => arr1.filter(item => !arr2.includes(item))
(arr1, arr2, func) => { const comparer = arr2.map(func); return arr1.filter(item => !comparer.includes(func(item))) }
(arr1, arr2, func) => arr1.filter(item => !arr2.some(otherItem => func(item, otherItem)))
(arr, n = 1) => arr.slice(n)
(arr, n = 1) => arr.slice(0, -n)
(arr, func = a => a) => arr.slice().reverse().reduce((result, item, i) => result ? result : (!func(item) && arr.slice(0, -i)), null)
(arr, func = a => a) => arr.reduce((result, item, i) => result ? result : (!func(item) && arr.slice(i)), null)
(arr, val, start = 0, end) => { end = end || arr.length; const copy = arr.slice() copy.splice(start, end, [...Array(start - end)].map(() => val) return copy; }
(arr, func = a => a, from = 0 ) => arr.slice(from).findIndex(func) + from