1、直接插入

function _push(array,value) {
    // 补全代码
    array[array.length] = value
    return array;
}

2、扩展运算符

 function _unshift(array,value) {     return [ ...array,value]; }

实际上这样就行,但是由于这个地方只支持es5语法所以得重新遍历一遍就如下代码

function _push(array,value) {
    // 补全代码
    let temp = [...array,value]; // 用临时数组保存结果    
    array.length = 0; // 将数组置空,不能使用 array = []     // 将结果放回原数组         
    temp.forEach(item=>{           
        array.push(item)         
    })         
    return array 
}

3、push方法没啥说的

-该方法可以向数组的末尾添加一个或多个元素,并返回数组的新的长度

-可以将要添加的元素作为方法的参数传递,这样这些元素将会自动添加到数组的末尾

-该方法会将数组新的长度作为返回值返回

function _push(array,value) {    
    return array.push(value);
 }

4、splice方法

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

注释:该方法会改变原始数组。

参数:

index —— 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。

howmany —— 必需。要删除的项目数量。如果设置为 0,则不会删除项目。

item1, …, itemX —— 可选。向数组添加的新项目。

返回值

Array —— 包含被删除项目的新数组,如果有的话。

function _push(array,value) {    
    return array.splice(array.length, 0, value);;
 }