题解 | #头部插入元素#

头部插入元素

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

相关推荐

09-19 12:15
门头沟学院 Java
迷茫的大四🐶:这下是真的打牌了,我可以用感谢信和佬一起打牌吗
点赞 评论 收藏
分享
ResourceUt...:楼主有自己的垃圾箱,公司也有自己的人才库
点赞 评论 收藏
分享
评论
21
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务