zoukankan      html  css  js  c++  java
  • 删除数组末尾元素

    题目描述

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

     

    第一种方法(concat  +  splice):

    1 function truncate(arr) {
    2     var newArr = arr.concat();//concat(item)连接生成新数组,无item则是浅复制
    3     newArr.splice(arr.length-1,1);//splice第一个参数为要删除的起始位置,第二个参数为删除的个数
    4     return newArr;
    5 }

    第二种方法(concat  +  pop):

    1 function truncate(arr) {
    2     var newArr = arr.concat();
    3     newArr.pop();//pop()返回的是数组末尾元素
    4     return newArr;
    5 }

    第三种方法( filter ):

    1 function truncate(arr) {
    2     //filter利用指定函数确定是否在返回的数组中包含某一项
    3     var newArr = arr.filter(function(item,index,arr){  
    4         return index != arr.length-1; 
    5     });
    6     return newArr;
    7 }

    第四种方法(join + split + pop):

     1 function truncate(arr) {
     2     /*join(元素) 方法用于把数组中的所有元素放入一个字符串。
     3      元素是通过指定的分隔符进行分隔的。
     4      如:
     5      arr.join() 返回 1,2,3
     6      arr.join('/') 返回 1/2/3 
     7      
     8      split(元素)指定分隔符,返回新数组
     9      */
    10     var newArr = arr.join().split(',');
    11     newArr.pop();
    12     return newArr;
    13 }

    第五种方法(apply  +  pop):

    1 function truncate(arr) {
    2     /*
    3     apply(thisObj,[argArray]) :应用某一对象的一个方法,用另一个对象替换当前对象。实际上是改变函数体内 this 的值 
    4     */
    5     var newArr = [];
    6     [].push.apply(newArr , arr);
    7     newArr.pop();
    8     return newArr;
    9 }

    第六种方法(for循环赋值):

    1 function truncate(arr) {
    2     var newArr = new Array();
    3     for(var i = 0; i<arr.length ; i++){
    4         newArr[i] = arr[i];
    5     }
    6     newArr.pop();
    7     return newArr;
    8 }

    来源:牛客网

  • 相关阅读:
    把数据输出到Word (组件形式)
    把数据输出到Word (非插件形式)
    ASP.NET MVC Jquery Validate 表单验证的多种方式
    GitHub博客hexo建站之设置SSH 密钥(keys)
    文件打开模式和文件对象方法
    字符串的方法及注释
    汉诺塔递归思维
    python中for嵌套打印图形
    float存储
    Queue 笔记
  • 原文地址:https://www.cnblogs.com/daheiylx/p/8877099.html
Copyright © 2011-2022 走看看