七、 数组类型操作属性

不羁的心 提交于 2020-03-05 23:55:21
1. Array.of和new Array都可以创建一个新数组
    | 区别:它们的区别在于当只设置一个参数的时候
        | new Array:参数只有一个的时候,表示数组的长度
        | Array of:参数只有一个的时候,表示数组只有一个元素且是传递的那个参数

2. 数组类型检测
    | Array.isArray(参数):参数为所需要检测的数据

3. 数组类型转换为字符串
    | .toString():大部分数据类型在调用该方法的时候,都会将其转换为字符串类型

    | .Join(参数):此方法可以设置字符串之间的连接符号
        | 参数是表示指定的连接符号,比如:"-"

4. Array.from(对象,回调函数)
    | 此方法可以将类数组转换为数组格式
        | 什么是类数组? 就是具有"length"属性或者可以遍历迭代的对象,比如:字符串
    | 这里的回调函数可以对数组里的每一个元素进行函数处理

5. 展开语法
    | 使用"..."展开语法可以将NodeList转换为数组操作

6. 数组合并
    | 方法一:利用展开语法 --> 类似于把一个数组元素都遍历出来在添加入另一个数组里
        | let a = [1,2,3, ...数组对象];
    | 方法二:.concat()
        | 数组A.concat(数组B) --> 返回值是数组A和数组B合并后的新数组
            | let 数组C = 数组A.concat(数组B)
        | 注意:数组A调用的该方法并没有修改原数组A的内容

7. DOM节点转换为数组
    | 利用展开语法或者Array.from()方法都可以,详见上面详解

8. 解构赋值
    | 解构赋值通俗的讲就是把数组内的每一个元素抽离处理并为每一个元素定义一个变量名
    | 定义变量名的时候建议使用:var/let/const来声明变量
    | 注意:解构赋值不适合内部元素很多的数组

9. 严格模式
    | "use strict"
    | 严格JS语法书写规范,防止出错

10. 函数默认值设置
    | function 函数A(参数1,参数2="默认值"){}
    | 这种书写方式就为函数A设置了两个形参,并为其中一个形参设置了一个默认值

11. .push(参数) --> 添加数组元素,前面加入
    | 数组A.push(...数组B) --> 为数组A中添加数组B的内容
        | 返回值:新增元素后的数组元素数量
    | 注意:新增加的元素在原数组前面添加

12. .pop() --> 删除数组最后一位元素
    | 删除调用数组的最后一位元素
    | 返回值:被删除的元素

13. .shift() --> 删除数组第一位元素
    | 返回值:被删除的元素

14. .unshift(参数) --> 从数组前面添加新元素,和".push()"相似
    | 数组A.unshift(参数) --> 从数组前面添加指定新元素
    | 返回值:新增元素后的数组元素数量

15. .slice(参数1,参数2) --> 截取调用数组中的元素
    | 注意: 此方法并不会改变原数组的内容
    | 参数1:开始索引位置
    | 参数2:结束索引位置(截取内容不包含该位置元素)
    | 返回值:被截取的数组内容

16. .splice(参数1,参数2,参数3) --> 具有添加、删除、替换的功能
    | 参数1:开始索引位置
    | 参数2:需要删除的元素数量
    | 参数3:设置在删除的位置添加新的元素

17. 查找数组元素
    | .indexOf(参数) --> 从前往后查找指定参数出现的索引值位置
        | 返回值:找到-->返回找到元素的索引值位置,找不到-->返回-1

    | .lastIndexOf(参数) --> 从后往前查找指定参数出现的索引值位置
        | 返回值:和.indexOf()一样

    | .includes(参数) --> 查找指定参数是否存在
        | 返回值:布尔类型(true,false)

    | .find(参数) --> 查找指定参数是否存在,但是返回值是找到的值也就是参数
        | 注意:找不到就返回undefined

    | 注意:.includes()是不能查找引用数据类型的,而.find()可以查找引用数据类型

    | .findIndex(参数) --> 和.find()一致,只是返回值有区别
        | 此方法返回值是找到的元素索引值,找不到就返回-1

18. 数组排序
    | .reverse() --> 反转数组元素内容
        | let 数组B = 数组A.reverse()
        | 返回值:反转后的新数组B

    | .sort() --> 排序数组内容元素,有两种方式

19. 循环遍历数组元素
    | for循环

    | .forEach((item,index,array) =>{代码块})
        | item:调用此方法数组内的每一个元素
        | index:调用此方法数组内每一个元素的索引值
        | array:调用此方法的数组本身
        | 注意:.forEach()没有返回值,是之前对原数组对象进行操作

    | .map(回调函数)
        | 数组A.map(item => item.title)
            | 遍历数组A每一个元素,并将每一个元素的title返回为新数组

20. 筛选数组内部元素并返回新数组
    | .filter(回调函数):过滤,可以说是筛选
        | 如果内部的回调函数返回值为true,则添加这个元素到新数组内

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!