前端javascript:经典编程“数组末尾添加元素”

228 阅读1分钟

题目描述

在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组
示例1
输入
复制
[1, 2, 3, 4],  10
输出
复制
[1, 2, 3, 4, 10]
  • 解题思路1:array.concat(arrayX,arrayY,arrayZ); return newArray;

     function append(arr, item) {
     return arr.concat(item);
     }
    

    运行时间:1666ms

    占用内存:78008k

  • 解题思路2:array.forEach(function(value,index,arr){},thisArg);

      function append(arr, item) {
          let newArr=[];
          arr.forEach(function(value,index,arr){
                     newArr.push(value); 
                      },this);
          newArr.push(item);
          return newArr
      }
    

    运行时间:1449ms

    占用内存:78008k

  • 解题思路3:for()循环迭代拷贝

      function append(arr, item) {
          let newArr=[];
          let len=arr.length;
          for(let i=0;i<len;i++){
              newArr.push(arr[i]);
          }
          newArr.push(item);
          return newArr
      }
    

    运行时间:1448ms

    占用内存:77876k

  • 解题思路4: 使用array.slice(start,end);浅拷贝;

      function append(arr, item) {
      let newArr=arr.slice(0);
      newArr.push(item);
      return newArr
    

    }

    运行时间:1401ms

    占用内存:77824k

由以上运行结果可知:解题思路4为最优解;

欢迎留下你的最优解