题解 | #头部插入元素#

头部插入元素

http://www.nowcoder.com/practice/6702abe9efcd482aac433f60896d9e1a

暂时想到的

// 1.通过循环将数组中的元素往后移一位
function _unshift(array, value) {
    let len = array.length;
    for (let i = len - 1; i >= 0; i--) {
        array[i+1] = array[i];
    }
    array[0] = value;
}

// 2. ES6的展开运算符,本题是要求用ES5
function _unshift(array,value) {
    const temp = [value, ...array]; // 用临时数组保存结果
    array.length = 0; // 将数组置空,不能使用 array = []
    // 将结果放回原数组
        temp.forEach(item=>{
          array.push(item)
        })
        return array
}

// 3.数组拼接,of方法可以将一组参数转化成数组。of方法也是ES6才支持的。
function _unshift(array,value) {
	const temp = Array.of(value).concat(array);
    array.length = 0;
     temp.forEach(item=>{
          array.push(item)
        })
        return array
}

// 4.万金油splice
function _unshift(array,value) {
    // splice返回的是被删除的元素
    array.splice(0,0,value);
    return array;
}

// 5.unshift方法
function _unshift(array,value) {
    array.unshift(value);
    return array;
}

全部评论
第二个好像不太行,展开转化完是对象
点赞 回复 分享
发布于 2022-05-25 21:25

相关推荐

10-15 03:05
门头沟学院 Java
CADILLAC_:凯文:我的邮箱是死了吗?
点赞 评论 收藏
分享
10-24 13:36
门头沟学院 Java
Zzzzoooo:更新:今天下午有hr联系我去不去客户端,拒了
点赞 评论 收藏
分享
评论
20
3
分享
牛客网
牛客企业服务