Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Array.prototype.myCopyWithin = function(target, start, end) {
- const o = Object(this);
- const len = o.length | 0;
- const relativeTarget = target | 0;
- const to = relativeTarget >= 0 ?
- Math.min(relativeTarget, len) : Math.max(len + relativeTarget, 0);
- const relativeStart = start | 0;
- const from = relativeStart >= 0 ?
- Math.min(relativeStart, len) : Math.max(len + relativeStart, 0);
- const relativeEnd = end ? end | 0 : len;
- const final = relativeEnd >= 0 ?
- Math.min(relativeEnd, len) : Math.max(len + relativeEnd, 0);
- const copy = JSON.parse(JSON.stringify(o));
- (function copyElements(t, s, e) {
- if (s < e && t < len) {
- o[t] = copy[s];
- copyElements(t + 1, s + 1, e);
- }
- return o;
- })(to, from, final);
- return o;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement