数组常见的es5的方法,不包含遍历方法(toString,jion,pusp,pop,unshift,shift)

18 篇文章 0 订阅

类数组(arguments, dom,  string)

  • 可以利用属性名模拟数组的特性
  • 可以动态的增长length属性
  • 如果强行让类数组调用push方法,则会根据length属性值得位置进行属性的扩充。
   function test() {
      console.log(arguments);
    }

    let oLi = document.getElementsByTagName('li')
    console.log(oLi);
    test(1, 2, 3)

 转字符串的 (toString  jion)

  let arr2 = [1, 2, [3, 4], 5, [6, [7, 8]]]
    console.log(arr2.toString()); //1,2,3,4,5,6,7,8
    console.log(arr2.join());
    console.log(arr2.join('-'));

toString 可以去掉多维数组  jion 只能去掉一层

堆栈方法(pusp,pop,unshift,shift)

pusp  在数组最后一位添加 返回数组增加后的长度

pop 在数组最后一位删除  返回被删除的值

unshift 在数组第一位添加 返回数组增加后的长度

 shift 在数组最后一位删除 返回被删除的值

    let arr3 = [1, 2, 3]
    console.log(arr3, arr3.push(5)); //[1,2,3,5],4
    console.log(arr3, arr3.pop());
    console.log(arr3, arr3.shift());
    console.log(arr3, arr3.unshift(5));

数组排序 (reverse,sort)

   /**

     * reverse  反序

     * sort

     * 随机排序

     */

    let arr4 = [5, 1, 2, 3, 4]
    // console.log(arr4, arr4.reverse());
    console.log(arr4, arr4.sort((a, b) => {
      a - b
    }))
    // 随机排序
    function compate() {
      return Math.random() - 0.5
    }
    console.log(arr4.sort(compate));

数组拼接(concat)

 concat 不能拼接多维数组

    let arr5 = [1, 2]

    let arr6 = [1, 2]

    console.log(arr5.concat(arr6)); //[1,2,1,2] 

数组的删改方法

    /**

     * slice 返回一个新的数组 左闭右开 start end

     * splice 操作元数组 返回修或删除的值

     * 1位的时候:起始

     * 2位:删除的元素个数 如果是不合理的值,则不会删除原数组

     * 3位: 插入的值

     */

    let arr7 = [1, 2, 3, 4, 5]
    // console.log(arr7, arr7.slice(2)); //[3,4]
    // console.log(arr7, arr7.slice(1, 3)); //[2,3]
    // console.log(arr7, arr7.slice(3, 1)); // 无交集时,返回空的数组 不会反序
    // console.log(arr7.slice(-2)); // 从后往前数 [3,4]

    // console.log(arr7, arr7.splice(2)) //) [1, 2]  [3, 4]
    // console.log(arr7, arr7.splice(2, 1))
    // console.log(arr7, arr7.splice(2, 3))
    // console.log(arr7, arr7.splice(2, 1, 4)) //[1, 2, 4, 4, 5] [3]
    // console.log(arr7, arr7.splice(2, -1, 4)) //[1, 2, 4, 4, 5] [3]
    // console.log(arr7, arr7.splice(2, -1), 'arr');

数组查找的方法

    /**

     * indexOf  

     * lastIndexOf 从右向左

     * 返回的值都是一样的,返回元素数组的位置 不存在时返回-1

     */

    let arr7=[1,2,3,4]
    // console.log(arr7.indexOf(3));
    // console.log(arr7.lastIndexOf(3));

数组上的构造函数方法

    /**

     * Array.of() 用来定义数组 解决es5中Array不合理的地方

     * Array.from()  //用来把类数组变成数组

     */

    console.log(Array(3)); //[]*3 当只有一个参数时,则是指数组的长度
    console.log(Array(3, 4));//[3,4]
    console.log(Array.of(3));//[3]

fill  填充数组 修改的原数组 第一个填充的数,第二第三是数组起始和结束位置

let arr7 = [0,1,2,3,4]
console.log(arr7, arr7.fill(6, 0, 2));// [6, 6, 2, 3, 4] , [6, 6, 2, 3, 4]

MDN:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值