• 【JavaScript复习十一】数组内置对象方法一


    欢迎来到JS复习专栏,本文章主要内容为数组的类型相关方法和元素添加删除的相关方法

    与数组类型相关的方法

    在这里插入图片描述

    isArray():判断是否为数组

    布尔值 = Array.isArray(被检测的数组);


    toString():数组转换为字符串

    字符串 = 数组.toString();
    解释:把数组转换成字符串,每一项用,分割。

    Array.from():将伪数组转换为真数组

    array = Array.from(arrayLike);
    作用:将伪数组或可遍历对象转换为真数组。

    伪数组与真数组的区别:

    伪数组:包含 length 属性的对象或可迭代的对象。

    另外,伪数组的原型链中没有 Array.prototype,而真数组的原型链中有 Array.prototype。因此伪数组没有数组的一般方法,比如 pop()、join() 等方法。

    伪数组举例

    <body>
        <button>按钮1button>
        <button>按钮2button>
        <button>按钮3button>
    
        <script>
            let btnArray = document.getElementsByTagName('button');
            console.log(btnArray);
            console.log(btnArray[0]);
        script>
    body>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    上面的布局中,有三个 button 标签,我们通过getElementsByTagName获取到的btnArray实际上是伪数组,并不是真实的数组.

    Array.of():创建数组

    Array.of(value1, value2, value3);

    根据参数里的内容,创建数组。

    new Array()Array.of()的区别在于:当参数只有一个时,前者表示数组的长度,后者表示数组中的内容。


    数组元素添加和删除方法

    在这里插入图片描述

    push()

    push():向数组的最后面插入一个或多个元素,返回结果为新数组的长度会改变原数组,因为原数组变成了新数组。


    pop()

    pop():删除数组中的最后一个元素,返回结果为被删除的元素

    unshift()

    unshift():在数组最前面插入一个或多个元素,返回结果为新数组的长度。会改变原数组,因为原数组变成了新数组。插入元素后,其他元素的索引会依次调整。

    shift()

    shift():删除数组中的第一个元素,返回结果为被删除的元素。

    slice()

    slice():从数组中提取指定的一个或者多个元素,返回结果为新的数组(不会改变原来的数组)。

    很多前端开发人员会用 slice()将伪数组,转化为真数组。写法如下:

    // 方式1
    array = Array.prototype.slice.call(arrayLike);
    
    // 方式2
    array = [].slice.call(arrayLike);
    
    • 1
    • 2
    • 3
    • 4
    • 5

    ES6 看不下去这种蹩脚的转化方法,于是出了一个新的 API:(专门用来将伪数组转化成真数组)

    array = Array.from(arrayLike);也就是上面说到的。

    splice()

    splice():从数组中删除指定的一个或多个元素,返回结果为被删除元素组成的新数组(会改变原来的数组)。

    备注:该方法会改变原数组,会将指定元素从原数组中删除;被删除的元素会封装到一个新的数组中返回。

  • 相关阅读:
    并发之CAS
    EN 13970防水用柔性薄板—CE认证
    【单片机基础】ADC0832详解
    在列表控件上显示提示信息
    FPGA解析B码----连载4
    自适应滤波器更新算法-EP2
    jetson nx (jetpack4.6)部署 Yolov5 过程记录
    翻倍增长!C-V2X商业化“提速”,新一代模组加速“助跑”
    关于视觉SLAM的最先进技术的调查-A survey of state-of-the-art on visual SLAM
    JavaWeb--06Vue组件库Element
  • 原文地址:https://blog.csdn.net/weixin_62542181/article/details/126090110