其他分享
首页 > 其他分享> > 练习牛客网笔试题--前端js--17-添加元素-开头

练习牛客网笔试题--前端js--17-添加元素-开头

作者:互联网

练习牛客网笔试题--前端js--17-添加元素-开头

    // 题目描述

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

    // 输入  [1, 2, 3, 4], 10

    // 输出  [10, 1, 2, 3, 4]

1.自己的练习

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

2.题解

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

 

标签:function,arr,17,--,newArr,js,item,var,prepend
来源: https://blog.csdn.net/Lsvmmer/article/details/115861675