flick.png
flick2.png
这道题有几种思路:

第一种:Array.prototype.splice()

  1. function slasher(arr, howMany) {
  2. if(arr.length < howMany){
  3. return [];
  4. }else{
  5. arr.splice(0,howMany);
  6. return arr;
  7. }
  8. }
  9. slasher([1, 2, 3], 2);

这种写法,便于理解;实际上是可以简写的,根据 splice()方法,当第二个参数值大于第一个参数时,会返回一个空数组,所以,可以简写成:

function slasher(arr, howMany) {
    arr.splice(0,howMany);
    return arr;
}

slasher([1, 2, 3], 2);

这里要注意的是,splice()方法修改的是原数组,返回的是删除的数组;

第二种:Array.prototype.slice()

function slasher(arr, howMany) {
  if(arr.length < howMany){
    return [];
  }else{
    return arr.slice(howMany);
  }
}

slasher([1, 2, 3], 2);

这里用的是slice()截取的方法,由于slice()方法不会修改原数组,所以,可以直接return;

版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。