@extra-array/cut-at-right
Version:
Breaks array after given indices.
18 lines (17 loc) • 406 B
JavaScript
function index(x, i = 0) {
return i < 0 ? Math.max(x.length + i, 0) : Math.min(i, x.length);
}
function cutAt(x, is) {
var a = [], j = 0;
for (var i of is) {
i = Math.max(j, index(x, i));
a.push(x.slice(j, i));
j = i;
}
a.push(x.slice(i));
return a;
}
function cutAtRight(x, is) {
return cutAt(x, is.map(i => i + 1));
}
export { cutAtRight as default };