在javascript中如何在不同索引上移动数组的第一个元素

在javascript中如何在不同索引上移动数组的第一个元素,javascript,Javascript,我的阵列是: var array = ["author", "1", "2", "3", "5", "6"] 单击按钮时,我试图将author移动到数组的第一个位置,而不是第二个位置和末尾。单击按钮时,获取author的索引&在另一个变量中,获取下一个索引处的元素。如果数组中的下一个位置不是未定义的则将作者的位置与下一个元素交换 var数组=[“作者”、“1”、“2”、“3”、“5”、“6”] 函数shiftAuthor(){ //获取数组中作者的索引 让currPosition=array

我的阵列是:

var array = ["author", "1", "2", "3", "5", "6"]

单击按钮时,我试图将author移动到数组的第一个位置,而不是第二个位置和末尾。

单击按钮时,获取
author的索引&在另一个变量中,获取下一个索引处的元素。如果数组中的下一个位置不是
未定义的
则将
作者
的位置与下一个元素交换

var数组=[“作者”、“1”、“2”、“3”、“5”、“6”]
函数shiftAuthor(){
//获取数组中作者的索引
让currPosition=array.indexOf('author');
//如果作者+1的索引未定义
if(数组[currPosition+1]!==未定义){
//在author的下一个索引处获取元素
让elemAtNextPos=array[currPosition+1];
//交换立场
数组[currPosition+1]=“作者”
数组[currPosition]=elemAtNextPos;
}
console.log(数组)
}

Shift Author
您可以对索引进行闭包,以便与下一个进行交换,并检查交换是否可行。如果不返回数组,则交换元素

const
交换=(a,i=0)=>()=>{
如果(i+1>=a.length),则返回a;
[a[i+1],a[i]=[a[i],a[i+1]];
i++;
返回a;
};
变量数组=[“作者”、“1”、“2”、“3”、“5”、“6”],
s=交换(数组);
log(…数组);
log(…s());
log(…s());
log(…s());
log(…s());
log(…s());

log(…s())好吗?你试过什么?你能描述一下第一次点击按钮后数组应该是什么样子吗?点击按钮后数组应该是var array=[“1”,“author”,“2”,“3”,“4”,“5”,“6”]button@Shreyashukla它是同一个数组