js中的数组

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

function prepend(arr, item) {
var itemarr=new Array();
    itemarr[0]=item;
    return itemarr.concat(arr);
    
}

其它方法,转载自:链接:https://www.nowcoder.com/questionTerminal/93994cb28b1c4ec5ad7da4f9c33ebfbe
来源:牛客网

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

链接:https://www.nowcoder.com/questionTerminal/93994cb28b1c4ec5ad7da4f9c33ebfbe
来源:牛客网

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



删除数组 arr 第一个元素。不要直接修改数组 arr,结果返回新的数组

我的方法:

function curtail(arr) {
var newarr=arr.concat();
      newarr.shift();
return newarr;
}

其它方法,转载自:https://www.nowcoder.com/questionTerminal/0323822699da497b8822898e90025882

链接:https://www.nowcoder.com/questionTerminal/0323822699da497b8822898e90025882
来源:牛客网

//利用slice
function curtail(arr) {
     return arr.slice(1);
}
//利用filter
function curtail(arr) {
     return arr.filter( function (v,i) {
         return i!==0;
     });
}
//利用push.apply+shift
function curtail(arr) {
     var newArr=[];
     [].push.apply(newArr, arr);
     newArr.shift();
     return newArr;
}
//利用join+split+shift    注意!!!:数据类型会变成字符型
function curtail(arr) {
     var newArr = arr.join().split( ',' );
     newArr.shift();
     return newArr;
}
//利用concat+shift
function curtail(arr) {
     var newArr = arr.concat();
     newArr.shift();
     return newArr;
}
//普通的迭代拷贝
function curtail(arr) {
     var newArr=[];
     for ( var i=1;i<arr.length;i++){
         newArr.push(arr[i]);
     }
     return newArr;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值