js改变数组中两个元素的位置、打乱数组

913 阅读1分钟

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

push() 方法可向数组的结尾添加一个或更多元素,并返回新的长度。

splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

两个元素换位子

function swapArr(arr, index1, index2) {
    arr[index1] = arr.splice(index2, 1, arr[index1])[0];
    return arr;
}

置顶移动

function toFirst(arr,index) {
    if(index!=0){
        // arr[index] = arr.splice(0, 1, arr[index])[0]; 这种方法是与另一个元素交换了位子,
        arr.unshift(arr.splice(index , 1)[0]);
    }
}

置底移动

function toFirst(arr) {
    if(index!=0){
        const index = _.findIndex(//todo);
        arr.push(arr.splice(index , 1)[0]);
    }
}

打乱数组

shuffleArray(arr) {
    var length = arr.length,
        randomIndex,
        temp;
    while (length) {
        randomIndex = Math.floor(Math.random() * (length--));
        temp = arr[randomIndex];
        arr[randomIndex] = arr[length];
        arr[length] = temp
    }
    return arr;
}

来源链接:blog.csdn.net/qq_38998250…

打乱数组:??