常用 数组 增删改 练习

<script>
    //  涉及方法 pop(); ----- 删除数组最后一项 (返回值是已删除的项目,改变原来数组)
    //      unshift(); ------(在开头)向数组添加新元素,并“反向位移”旧元素(返回新数组的长度,改变原来数组)
    //        shift(); ------ 删除首个数组元素,并把所有其他元素“位移”到更低的索引(返回被“位移出”的字符串,改变原来数组)
    //        push(); --------(在数组结尾处)向数组添加新的元素,(返回新数组的长度,改变原数组)
    //       splice(); ------- 向数组任意位置添加新项或删除项(返回一个包含已删除项的数组,改变原数组)
    {
      // 两个元素换位置
      let arr = [11, 22, 33, 44, 55, 66, 77];

      function swapArr(arr, index1, index2) {
        //  splice 做替换功能时 返回被删除内容 改变原始数组
        arr[index1] = arr.splice(index2, 1, arr[index1])[0];
        return arr
      }
      let newArr = swapArr(arr, 1, 6)
      // console.log(newArr) // [11, 77, 33, 44, 55, 66, 22]
    }; {
      // 置顶移动
      let arr = [11, 22, 33, 44, 55, 66, 77];

      function toFirst(arr, index) {
        if (index != 0) {
          arr.unshift(arr.splice(index, 1)[0]);

        }
        return arr
      }
      let newArr = toFirst(arr, 5);
      // console.log(newArr)

    }; {
      // 上移一格
      let arr = [11, 22, 33, 44, 55, 66, 77];

      function toUp(arr, index) {
        if (index != 0) {
          arr.splice(index - 1, 0, arr.splice(index, 1)[0]);
          return arr
        }
        //  排在第一位的时候 去最后一位
        else {
          arr.push(arr.shift());
          return arr
        }
      }
      toUp(arr, 6);
      // console.log(arr)
    }; {
      // toDown 下移一格
      let arr = [11, 22, 33, 44, 55, 66, 77];

      function toDown(arr, index) {
        if (index < arr.length) {
          arr.splice(index + 1, 0, arr.splice(index, 1)[0]);
          return arr
        }
        // index 大于数组长度时 将最后一位 添加到第一位
        else {
          arr.unshift(arr.pop());
          return arr
        }
      }
      toDown(arr, 8)
      console.log(arr)
    }
  </script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值