题目描述

在数组 arr 开头添加元素 item。不要直接修改数组 arr,结果返回新的数组

示例1

输入

[1, 2, 3, 4], 10

输出

[10, 1, 2, 3, 4]

代码实现:

function prepend(arr, item) {
     //将arr数组复制给a
     var a = arr.slice(0);
     //使用unshift方法向a开头添加item
     a.unshift(item);
     return a;
 }

 // ------------------------------------------------------
 function prepend(arr, item) {
    var newarr = arr.concat([]);
    newarr.unshift(item);
    return newarr
}

prepend([1, 2, 3, 4], 10)

// -------------------------------------------------------
//利用concat
function prepend(arr, item) {
    return [item].concat(arr);
}
//使用push.apply
function prepend(arr, item) {
    var newArr=[item];
    [].push.apply(newArr, arr);
    return newArr;
}
//利用slice+unshift/splice
function prepend(arr, item) {
    var newArr=arr.slice(0);
    newArr.unshift(item);//newArr.splice(0,0,item);
    return newArr;
}
//使用join+split+unshift/splice组合
function prepend(arr, item) {
    var newArr=arr.join().split(',');
    newArr.unshift(item);//newArr.splice(0,0,item);
    return newArr;
}
//普通的迭代拷贝
function prepend(arr, item) {
    var newArr=[];
    for(var i=0;i<arr.length;i++){
        newArr.push(arr[i]);
    }
    newArr.unshift(item);
    return newArr;
}

results matching ""

    No results matching ""