JavaScript中数组方法:
Array.isArray()
- 用来检查一个对象是否是数组,返回值是布尔值
at()
- 可以根据索引获取数组中的指定元素
- at 可以接收负索引作为数组的参数
Array.from() 用来将伪数组转换成数组; 例:function fn(){ ES5:var arr = [...arguments]; ES6:var arr = Array.from(arguments) };
Array.of() 创建新数组;
concat()
- 用来连接两个或多个数组
- 非破坏性方法,不会影响原数组,而是返回一个新的数组
展开运算符合并数组 var newarr = [...arr1,...arr2,...arr3];得到合并后的数组;
indexOf()
- 获取元素在数组中第一次出现的索引
- 参数:
- 要查询的元素
- 查询的其实位置
lastIndexOf()
- 获取元素在数组中最后一次出现的位置
- 返回值:找到了则返回元素的索引,没有找到返回-1
find() 查找符合条件的第一个元素;
findIndex() 查找符合条件的第一个元素的索引;
join()
- 将一个数组中的元素连接为一个字符串
["孙悟空", "猪八戒", "沙和尚", "唐僧", "沙和尚"] -> "孙悟空,猪八戒,沙和尚,唐僧,沙和尚"
- 参数:
指定一个字符串作为连接符
slice()
- 用来截取数组(非破坏性方法)
- 参数:
-
截取元素的起始位置(包括该位置)
-
截取元素的结束位置(不包括该位置)
- 第二个参数可以省略不写,如果省略则会一直截取到最后
- 索引可以是负值
-
如果将两个参数全都省略,则可以对数组进行浅拷贝(浅复制)
map()
-
可以根据原有数组返回一个新数组
-
需要一个回调函数作为参数,回调函数的返回值会成为新数组中的元素
-
回调函数中有三个参数:
- 第一个参数:当前元素
- 第二个参数:当前元素的索引
- 第三个参数:当前数组
forEach()
- 用来遍历数组
- 它需要一个回调函数作为参数,这个回调函数会被调用多次
数组中有几个元素,回调函数就会调用几次
每次调用,都会将数组中的数据作为参数传递
-
回调函数中有三个参数:
- element 当前的元素
- index 当前元素的索引
- array 被遍历的数组
filter()
- 可以用来对数组进行过滤, 从一个数组中获得符和条件的元素
- 将数组中符合条件的元素保存到一个新数组中返回
- 需要一个回调函数作为参数,会为每一个元素去调用回调函数,
并根据返回值来决定是否将元素添加到新数组中
- 根据回调函数的结果来决定是否保留元素,true 保留,false 不保留
find()
- 可以从一个数组中获得符和条件的第一个元素
reduce()
-
可以用来合并数组中的元素
-
需要两个参数:
-
回调函数(指定运算规则)
-
四个参数:
- prev 上一次运算结果
- curr 当前值
- index 当前索引
- arr 当前数组
-
-
初始值
- 用来指定第一次运算时 prev,如果不指定则直接从第二个元素开始计算
push()
- 向数组的末尾添加一个或多个元素,并返回新的长度
pop()
- 删除并返回数组的最后一个元素
unshift()
- 向数组的开头添加一个或多个元素,并返回新的长度
shift()
- 删除并返回数组的第一个元素
splice()
-
可以删除、插入/添加、替换数组中的元素
-
参数:
- 第 1 个参数 删除的起始位置
- 第 2 个参数 删除的数量
- 第 3 个参数 要插入的元素
-
返回值:返回被删除的元素
reverse()
- 反转数组
sort()
- sort 用来对数组进行排序(会对改变原数组)
- sort 默认会将数组升序排列
注意:sort 默认会按照 Unicode 编码进行排序,所以如果直接通过 sort 对数字进行排序
可能会得到一个不正确的结果,例如:1,2,10,4 得到的排序结果是 1,10,2,4
-
参数:
- 可以传递一个回调函数作为参数,通过回调函数来指定排序规则
- (a, b) => a - b 升序排列
- (a, b) => b - a 降序排列
flat()
- 扁平数组,默认参数为1,传入的参数就是数组扁平的唯独
fill()
- 填充数组里的键值
includes()
- 判断数组里是否包含某个值