Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- anonymousThreat = (input) => {
- let arr = input.shift().split(' ');
- for (let line of input) {
- if (line === '3:1') {
- break;
- }
- if (line.includes('merge')) {
- let [, startIndex, endIndex] = line.split(' ').map(Number);
- startIndex = Math.max(0, startIndex);
- endIndex = Math.min(endIndex, arr.length);
- let mergedPart = arr.splice(startIndex, endIndex+1 - startIndex).join('');
- if (mergedPart !== '') {
- arr.splice(startIndex, 0, mergedPart)
- }
- } else {
- let [, index, partitions] = line.split(' ').map(Number);
- let partForDividin = arr[index];
- if (partForDividin.length % partitions === 0) {
- let regexp = new RegExp(`[\\w\\W]{${partForDividin.length / partitions}}`, 'gi');
- let newElements = partForDividin.match(regexp);
- arr.splice(index, 1, ...newElements)
- } else {
- let lengthPart = Math.floor(partForDividin.length / partitions);
- let lengthLastPart = lengthPart + partForDividin.length % partitions;
- let newElements = []
- for (let i = 0; i < partForDividin.length - lengthLastPart; i += lengthPart) {
- newElements.push(partForDividin.slice(i, i + lengthPart));
- }
- newElements.push(partForDividin.slice(partForDividin.length-lengthLastPart))
- arr.splice(index, 1, ...newElements)
- }
- }
- }
- console.log(arr.join(' '));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement