「这是我参与2022首次更文挑战的第5天,活动详情查看:2022首次更文挑战」。
将类数组结构转换为数组实例
-
关键字 form()
特点:
1、字符串会被拆分为单字符数组;
2、将集合映射为一个新的数组;
3、对现有数组执行浅复制;
4、可以使用任何可迭代的对象;
5、arguments对象可以被轻松的转换为数组;
6、转换带有必要属性的自定义对象;
将一组参数转换为数组实例
-
关键字of()
特点:把一组参数转换为数组(替代ES6之前常用的Array.prototype.slice.call(arguments),一种异常笨拙的将arguments对象转换为数组的写法)
迭代器方法
-
关键字keys()
特点:返回数组索引的迭代器;
-
关键字values()
特点:返回数组元素的迭代器;
-
关键字entries()
特点:返回所以值/对的迭代器
复制和填充的方法(会改变原来的数组)
-
关键字 copyWithin() --- 批量复制方法
特点:
1、会按照 指定范围浅复制数组中的部分内容,然后将他们插入到指定索引开始的位置
-
关键字 fill() --- 填充数组方法
特点:
1、向一个已有的数组中插入全部或部分相同的值
共同特点:
1、不会改变数组的大小;
2、接收三个参数(target, start, end)。target(必传):从该位置开始替换数据、start(可选):从该位置开始读取数据。默认为0,如果为负数,表示倒数、end(可选):到该位置前停止读取数据,默认为数组长度,如果为负值,表示倒数;
栈方法(后进先出,可通过push和pop实现类似栈的行为)
-
关键字push()
特点:接收任何数量的参数,并将它们添加到数组的末尾。
-
关键字pop()
特点:用于删除数组的最后一项,并减少数组的length值,并返回被删除的数组
队列方法(先进先出,可通过shift和push实现类似队列行为)
-
关键字shiift()
特点:删除数组的第一项并返回它,数组长度length - 1
反向队列(可通过unshift和pop实现类似反队列行为)
-
关键字 unshift()
特点: 在数组开头添加任意多个值
操作方法
-
关键字 concat()
特点:Symbol.isConcatSpreadable这个符号能够阻止concat()打平参数数组,相反 把这个值设置为true可以强制打平类数组对象。
-
关键字slice()
特点:可以实现插入删除以及替换等操作
搜索和位置方法
严格相等
- 关键字 indexOf() 返回查找元素在数组中的位置
- 关键字 lastIndexOf() 返回查找的元素在数组中的位置
- 关键字 includes() 返回布尔值,指至少找到一个与指定元素匹配的项
断言函数
- 关键字 find() 返回第一个匹配的元素 (找到匹配后永远不会检查数组的最后一个元素)
- 关键字 findIndex() -- 返回第一个匹配元素的索引
迭代方法
- 关键字 every() 搜索符合某个条件的元素(所有条件都符合,返回true),返回布尔值
- 关键字 filter() 过滤出一个符合条件的数组
- 关键字 forEach() 相当于for循环, 没有返回值
- 关键字 map() 返回一个数组
- 关键字 some() 搜索符合某个条件的元素(只要有一个符合条件就返回true), 返回布尔值
归并方法
-
关键字 reduce()
特点以及用处:
1、累加数组中的所有的值;
2、数组去重;
3、统计每个值在数组中出现的次数;
4、将二维以及多维数组转换为一维数组;
5、对象里面的属性求和;
Map()
Map是一种新的集合类型,键/值存储机制,使用new 关键字和Map构造函数可以创建一个空映射。例如: const m = new Map()。
-
关键字 get() 返回选定键 的值value
-
关键字 set() 返回映射实例,可多次连续操作
-
关键字 has() 查询选定键是否存在, 返回布尔值
-
关键字 clear() 清除这个映射实例中的所有键值对
-
关键字 delete() 只删除选定键的这一个键值对
-
关键字 clear() 获取映射中键值对的数量
一些特点:
1、作为键的字符串原始值不能够修改
2、修改了作为键的对象属性,但对象在映射内部仍然引用相同的值
3、Map()可以比Object多存储50%的键值对
4、代码涉及大量删除操作时应选择Map()
Set()
新集合类型,集合数据结构
- 关键字 add() 增加值
- 关键字 has() 查询值
- 关键字 size() 获取元素的数量
- 关键字 delete() 删除某个值
- 关键字 clear() 删除实例中的所有值