My array is:
var array = ["author", "1", "2", "3", "5", "6"]
I am trying to move author on first position and than second position and end of the array, on click of button.
My array is:
var array = ["author", "1", "2", "3", "5", "6"]
I am trying to move author on first position and than second position and end of the array, on click of button.
 
    
     
    
    You could take a closure over the index to swap with the next and check if the swapping is possible. If not return the array, otherwise swap the elements.
const
    swap = (a, i = 0) => () => {
        if (i + 1 >= a.length) return a;
        [a[i + 1], a[i]] = [a[i], a[i +  1]];
        i++;
        return a;
    };
var array = ["author", "1", "2", "3", "5", "6"],
    s = swap(array);
console.log(...array);
console.log(...s());
console.log(...s());
console.log(...s());
console.log(...s());
console.log(...s());
console.log(...s());splice instead, which spreads an spliced array from the following index with a length of one item.
const
    swap = (a, i = 0) => () => {
        a.splice(i, 0, ...a.splice(++i, 1));
        return a;
    };
var array = ["author", "1", "2", "3", "5", "6"],
    s = swap(array);
console.log(...array);
console.log(...s());
console.log(...s());
console.log(...s());
console.log(...s());
console.log(...s());
console.log(...s()); 
    
    On click of the button get the indexOf author & in another variable get the element at the next index. If the next position in the array is not undefined  interchange the position of author with immediately next element
var array = ["author", "1", "2", "3", "5", "6"]
function shiftAuthor() {
  // get index of author in the array
  let currPosition = array.indexOf('author');
  // if the index of author +1 is not undefined
  if (array[currPosition + 1] !== undefined) {
    // get the element at the next index of author
    let elemAtNextPos = array[currPosition + 1];
    // interchange their position
    array[currPosition + 1] = 'author'
    array[currPosition] = elemAtNextPos;
  }
  console.log(array)
}<button type='button' onclick='shiftAuthor()'> Shift Author </button>