Interweave an array's values in place using JavaScript

let's say I have an array of numbers => [1,2,3,4,5,6]

and I want to interweave them => [1,4,2,5,3,6]

I can do that with the following code

const nums = [1,2,3,4,5,6];
const results = [];
nums.slice(0, nums.length / 2).forEach((num, index) => results.push(num, nums.slice(nums.length / 2, nums.length)[index]))
console.log(results);

to be a better programmer overall, I'd like to know how to modify the array in place as if it were a linked list and without having to create any additional space complexity by having an additional array.

I've written out the logic, but I can't seem to find a pattern to create a function off of.

//  do nothing

// 
currentIndex = 1;
temp = nums;
nums = nums[currentIndex];
nums[currentIndex] = temp;
// 1356 => 1356

// 
currentIndex = 2;
temp = nums;
nums = nums[currentIndex];
nums[currentIndex] = temp;
// 1456 => 1456

// 
currentIndex = 3;
temp = nums;
nums = nums[currentIndex];
nums[currentIndex] = temp;
// 1426 => 1426

// while (currentIndex < nums.length / 2) {...}

am I overthinking this?