1. 程式人生 > >JS能力測評7:新增元素

JS能力測評7:新增元素

思路:

先複製,在運用unshift()方法。

function prepend(arr, item) {
    var newarr=arr.slice(0);
    newarr.unshift(item);
    return newarr;
}

另一個大佬的演算法,複製下來有空學習學習。 

//利用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;
}