Slice and Splice add solution?

I searched and seems no one post one using Array.concat yet.
With it I can do this in basically one line. No variable, no loop.

function frankenSplice(arr1, arr2, n) {
  return arr2.slice(0,n).concat(arr1).concat(arr2.slice(n,arr2.length));
}

I think it worked because they busted me on my first go.

arr2.splice(n, 0, ...arr1)
  return arr2;}

Then solved with

  var result = [...arr2];
  result.splice(n, 0, ...arr1)
  return result;
} 

frankenSplice([1, 2, 3], [4, 5, 6], 1); 

Super Easy, barely an inconvenience! :smile:

Here is my code!

function frankenSplice(arr1, arr2, n) {

let a = arr1.slice()
let b = arr2.slice()

b.splice(n,0,…a)

return b;

}

frankenSplice([1, 2, 3], [4, 5, 6], 1); // returns [4, 1, 2, 3, 5, 6]

function frankenSplice(arr1, arr2, n) {

  let newArr;

  newArr = arr2.slice(0, n)

  arr1.forEach(element => {

    newArr.push(element)

  })

  arr2.slice(n, ).forEach(element => {

    newArr.push(element)

  })

  return newArr;

}

frankenSplice([1, 2, 3], [4, 5, 6], 1);

function frankenSplice(arr1, arr2, n) {

return arr2.slice(0,n).concat(arr1).concat(arr2.slice(n));

}

frankenSplice([1, 2, 3], [4, 5, 6], 1);

Here is the solution which i came up with, easy and simple:

function frankenSplice(arr1, arr2, n) {
  return arr2.slice(0, n).concat(arr1).concat(arr2.slice(n));
}
1 Like

I am a little confuse why the following code does not work.? I am just returning the array obtained from the splice() method, without an intermediate line.

  let localArr = arr2.slice();
  return localArr.splice(n, 0, ...arr1);

splice returns the removed elements

1 Like

Mine solution:

function frankenSplice(arr1, arr2, n) {

return (arr2.splice(arr1, n).concat(arr1).concat(arr2))
  
}

frankenSplice([1, 2, 3], [4, 5, 6], 1);