数组 Array
- 数组是一种复合数据类型,可以存储多个不同类型的数据
- 数组中存储的是有序的数据
-
创建数组 new Array() // []
-
添加元素 数组[索引] = 元素
-
数组属性length = 最大索引值+1
遍历数组
-
语法: for(遍历 of 可迭代的对象){}
-
执行流程:数组中有几个元素就执行几次,每次执行都会把一个元素赋值给变量
-
注意区别:for-in 处理对象
数组的方法
- isArray()检查一个对象是否是数组
-
at() 可以根据索引获取数组中的指定元素,可以接收负数做参数
-
indexOf(a,b) a 是查询的元素,b是查询的起始位置 返回值:首次比对成功的索引,如果找不到返回-1
-
lastIndexOf() 获取元素在数组中最后一次出现的位置
数组方法
sort() 用来对数组进行排序(会改变原数组)
注意:arr.sort()会默认按unicode编码进行排序,所以对数字进行排序,需要回调函数做参数
参数
- 可以传一个回调函数做参数,通过回调来指定排序规则
- (a, b) => a - b 升序排列
- (a, b) => b - a 降序排列
forEach() 用来遍历数组
- 它需要一个回调函数做参数,这个回调会被调用多次
数组有几个元素,就被调用几次
每次调用,都会把数组中的数据做参数传递
-
回调函数有三个参数
element 当前元素(必传参数)
index 当前元素的索引(非必传参数)
array 被遍历的数组(非必传参数)
filter()
- 将数组中符合条件的元素保存到一个新数组中返回
- 非破坏性的方法,不会影响原数组
- 它需要一个回调函数做参数,回调函数有三个参数
element 当前元素(必传参数)
index 当前元素的索引(非必传参数)
array 被遍历的数组(非必传参数)
map() 根据当前数组生成一个新数组
-
非破坏性的方法,不会影响原数组
-
它需要一个回调函数做参数
reduce()
-
把数组中的元素整合成一个值