每日一题
data:2021-01-02
数组操作:
数组元素内部方法:

  • push()方法
    在元素最后一位后面添加一个或者多个,调用方式如下:

    //直接操作元素
    arr = [1,2]
      function add(arr,item){
          arr.push(item);
    }
    add(arr,3)
    //输出  [1,2,3]

    习题:

    //返回新的移除了和item值相等的元素
    function remove(arr, item) {
      let newarr = [];
      for(let i=0;i<arr.length;i++){
          if(arr[i]!=item){
              newarr.push(arr[i]);
          } 
      }
      return newarr;
    }
  • splice()方法
    在元素的某一位置增加/删除元素
    参数(index,howmany,item1,item2...)

    • index: 删除元素或者添加元素的位置
    • howmany: 若该值为0 则不删除元素 否则就将删除index位置之后的howmany个元素
    • item: 添加或者删除元素的值
      //删除位置为2之后的2个元素
      function(arr,item){
      arr = [1,2,3]
      arr.splice(2,2)
      return arr;
      }
      //输出结果为:[1] 
      习题
      //在元数组上进行操作
      function removeWithoutCopy(arr, item) {
      for(let i=0;i<arr.length;i++){
          remove = arr.indexOf(item)
          arr.splice(remove,1)
      }
      return arr;
      }

unshift():头部添加

    arr = [2,3]
    function headadd(arr,item){
    arr.unshift(item);
}
    headadd(arr,1)
//得到数组:[1,2,3]

数组的浅拷贝:slice()方法

    function append(arr, item) {
        var narr = arr.slice(0);
        narr.push(item);
        return narr;
    }
//获得一个和原数组一样的数组