moveWithin - nodef/extra-iterable GitHub Wiki

Move part of iterable within.

Similar: copy, copyWithin, moveWithin.

function moveWithin(x, j, i, I)
// x: an iterable
// j: write index [0]
// i: read start index [0]
// I: read end index [END]
const xiterable = require('extra-iterable');

var x = [1, 2, 3, 4, 5, 6];
[...xiterable.moveWithin(x, 0, 1, 3)];
// → [2, 3, 1, 4, 5, 6] (2,3 to left)

[...xiterable.moveWithin(x, 6, 3, 5)];
// → [1, 2, 3, 6, 4, 5] (4,5 to right)

References