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

示例1

输入

[1, 2, 3, 4], 10

输出

[10, 1, 2, 3, 4]

1.unshift()向数组开头添加一个或者多个元素,并返回新的数组的长度,但是注意:unshift不创建新的数组,而是直接修改原来的数组

function prepend(arr, item) {
    var m = arr.slice();
    m.unshift(item);
    return m;

}

2.apply()对数组进行参数序列化

function prepend(arr, item) {
var m = [];
    [].push.apply(m,arr);
    m.unshift(item);
    return m;

}

3.直接利用apply将item数组放在arr的开头

function prepend(arr, item) {
var m = [item];
    [].push.apply(m,arr);
    return m;

}

4.利用splice的第二个参数为0,来达到添加元素的作用

function prepend(arr, item) {
var m = arr.slice();
    m.splice(0,0,item);
    return m;

}

5.利用concat数组合并生成新的数组

function prepend(arr, item) {
    return [item].concat(arr);

}

6.利用push将item放入数组

function prepend(arr, item) {
var m = [item];
    for (var i = 0 ; i < arr.length; i++){
        m.push(arr[i]);
    }
    return m;
}

另外:关于apply实现数组最值以及合并

https://www.cnblogs.com/airbreak/p/4595424.html








Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐