数组方法(ES5,ES6)史上最全细分多类速记

(一)改变原数组的方法(9个)


ES5:

1. pop()   删除一个数组中的最后的一个元素,并且返回这个元素。
2.shift()  删除数组的第一个元素,并返回这个元素。
3.push() 可向数组的末尾添加一个或多个元素,并返回新的长度。
4.unshift() 可向数组的开头添加一个或更多元素,并返回新的长度。
5.reverse()  用于颠倒数组中元素的顺序。
6.splice()  数组的删除、添加、替换,会改变原数组
7.sort()方法对数组元素进行排序,并返回这个数组


ES6:

8.copyWithin()在当前数组内部,将指定位置的成员复制到其他位置,并返回这个数组。
9 fill() 使用给定值,填充一个数组。


(二)不改变原数组的方法(8个)

1 join()用于把数组中的所有元素通过指定的分隔符进行分隔放入一个字符串,返回生成的字符串。

toLocaleString()   返回一个表示数组元素的字符串。该字符串由数组中的每个元素的 toLocaleString() 返回值经调用 join() 方法连接(由逗号隔开)组成。

toString() 可把数组转换为由逗号链接起来的字符串。这种方法只是join方法的一部分功能,所以更推荐使用join方法。

4 slice() 方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象,且原数组不会被修改。

注意:注意:字符串也有一个slice() 方法是用来提取字符串的,不要弄混了。

5 cancat() 方法用于合并两个或多个数组,返回一个新数组。

扩展:ES6 扩展运算符 …合并数组

…运算符可以实现cancat的每个栗子,且更简洁和具有高度自定义数组元素位置的效果。

6 indexOf() 返回在数组中可以找到一个给定元素的第一个下标,如果不存在,则返回-1。

lastIndexOf() 返回指定元素在数组中的最后一个的索引,如果不存在则返回 -1。(从数组后面往前查找)

includes()

ES7的语法:返回一个布尔值,表示某个数组是否包含给定的值

---------------------------------------------------------------------------------------------------------------------------------

常用数组:

1.push() 在数组的末尾位置添加元素
2.pop() 在数组的最后一个位置删除元素
3.unshift() 在数组的第一个位置添加元素
4.shift() 在数组的第一个位置删除元素
5.sort() 以ASSIC码排序数组元素
6.reverse() 倒序数组
7.slice(start,end) 截取数组,不包括结束下标的元素
8.splice() 删除数组中指定位置的元素
9.join() 分割数组并转变成字符串                                                                                     10.concat() 合并数组
11.find() 找数组的元素,找到返回true,否则undefined
12.findIndex() 找到返回下标,找不到返回-1
13.indexOf() 查找元素,找到返回下标,否则返回-1
14.includes() 查找元素,返回true或者false
15.map() 参数为回调函数,遍历返回新数组
16.forEach() 遍历数组
17.filter() 过滤方法
18.every() 全部满足返回true
19.some() 存在满足返回true
20.lastIndexOf() 查找方法
21.reduce() 参数为回调函数,四个参数(前一个,当前,下标,数组)
22.reduceRight() 参数为回调函数

ES5新增:


1.indexOf()字符串、数组统用,返回指定字符首次出现的位置(索引值),返回这个索引值,否则返回-1

2.forEach():仅遍历数组(item,index,arr),无返回值或返回值为undefined

3.map():数组遍历,返回新数组

4.filter():与map类似,返回新数组

5.some():返回布尔值,检测数组中是否有某一个值

6.every():返回布尔值,检测数组中所有元素是否都符合指定条件

7.reduce(()=>(prev,next,index))

第一个参数是上一次前两个参数的和
第二个参数是下一个下标对应的元素
第三个参数是第二个参数的下标

总结:

5个迭代方法(循环操作数组中的各个项):forEach(),map(),filter(),every()和some()
2个归并方法(迭代数组所有项,最终返回一个值):reduce()和reduceRight()
2个索引方法:indexOf() 和 lastIndexOf();


ES6新增:


1.isArray():判断是否是数组

2.Array.from():将类数组或可迭代对象转为数组

3.Array.of():数组创建,将参数内不同的元素(数据类型)转为数组,若为空就返回一个空数组

4.find():查找数组中符合条件的第一个元素

5.findIndex():查找数组中符合条件的第一个元素的索引

6.includes():检测数组中是否包含一个值,,返回true、false

7.fill():将一定范围索引的数组元素内容填充为单个指定的值。

8.entries():遍历键和值

9.keys():遍历键名

10.values():遍历值

11.flat():嵌套数组转一维数组

12.复制数组:扩展运算符:…

--------------------------------------------------------------------------------------------------------------------------------

一、检测方法


Array.isArray()


二、创建数组方法


Array.from()
Array.of()


三、操作数组方法


push()
pop()
shift()
unshift()
concat()
slice()
splice()
copyWithin()
fill()
flat()
flatMap()


四、查询方法


includes()
indexOf、lastIndexOf()


五、排序方法


sort
reverse


六、转换方法


toLocaleString()
toString()
join()


七、迭代(遍历)方法


forEach()
map()
filter()
some()
every()
find()
findIndex()
entries()、keys()、values()


八、归并方法


reduce()
reduceRight()
 

你可能感兴趣的:(es6,javascript,前端)