js 数组的方法
(1)、push()
向数组的末尾添加一个或更多的元素;
(2)、unshift()
向数组的开头添加一个或多个元素;
(3)、pop()
删除数组的最后一个元素,并返回删除的那个元素;
(4)、shift()
删除数组的第一个元素,并返回删除的那个元素;
(5)、indexOf()
搜索数组中的元素,并返回要查找的那个元素的索引;如果不存在的话就返回 -1;从前往后检索
例如: arr.indexOf(2)
(6)、lastIndexOf()
搜索数组中的元素,并返回要查找的那个元素最后出现的索引位置;原理是从最后一个元素开始往前搜索的;
(7)、concat()
将两个数组拼接,不改变原有数组,并返回合并后的新数组;
(8)、map()
遍历数组拿到数组的每一个元素,并返回处理后的数组;
(9)、slice()
选择数组的一部分,并返回选择的部分;
例如: arr.slice(firstIndex, lastIndex) 如果只有一个参数的时候,就返回该参数索引及其之后的元素组成的数组;如果是两个参数,则返回第一个参数索引,以及最后一个索引参数之间的元素,但是不包括最后一个索引参数对应的元素;
需要注意的是,这里如果传进来的不是数字的话是会发生隐式装换的,如果有两个参数,那么第一个参数是非纯数字字符串的话,默认从第一个元素开始;如果第二个参数是纯数字字符串的话,返回一个空的数组;如果只有一个参数且不是纯数字的字符串,则返回数组本身;
(10)、splice()
从数组中添加和删除元素;并返回删除或者替换掉的元素组成的新的数组
例如: arr.splice(firstIndex, number, item) 如果只有一个参数的话,就默认的删除从 firstIndex 索引位置开始的元素;如果有两个参数,就删除从 firstIndex 开始 number 个元素; 如果有三个参数则将从 firstIndex 位置开始的 number 个元素替换成 item
(11)、sort()
将数组中的元素进行排序;
例如: arr.sort( (a, b) => {
return a.age - b.age // 按从大到小的书序进行排序,age是每个元素中的属性
})
(12)、reverse()
反转数组元素的排序,改变原数组,并返回改变后的数组;
(13)、join()
将数组的的每个元素连接成字符串,默认用逗号连接;
(14)、forEach()
遍历每一个元素,并执行以下回到函数,但是没有任何的返回值,也不改变原数组的元素;
(15)、some()
检测数组中是否有符合制定条件的元素,不改变原数组,返回 true 和 false
例如 arr.some(item => {
return item > 2
})
(16)、every()
检测数组中的每一个元素是否都满足指定条件,不改变原数组,返回 true 和 false
(17)、find()
返回数组中符合条件的第一个元素,一旦检测到就停止便利;
(18)、findIndex()
返回数组中符合条件的第一个元素的索引值,一旦检测到就停止遍历;
(19)、filter()
遍历数组的每个元素,并返回符合条件的元素的集合
(20)、fill()
用一个固定的元素去填充数组;
例如:arr.fill(item, startIndex, endIndex) 如果没有开始位置和结束位置的话,就替换所有,如果有两个参数,则就替换第一个索引之后的所有元素;如果有两个索引参数,则替换开始索引到结束索引位置的元素,不包括结束索引位置的元素;
(21)、copyWithin()
将数组某个位置的元素拷贝到数组的另一个位置
(22)、reduce()
将数组的每一个元素计算成一个值,从做到右;
(23)、reduceRight()
将数组的每一个元素计算成一个值,从右往左计算;
(24)、toString()
将数组转换成字符串,每个元素之间用逗号隔开;
(25)、Array.of()
创建数组;
(26)、Array.from()
将类数组或者可以进行遍历的对象转成数组,并可以使用回调函数对其进行处理;
详情参见:https://www.cnblogs.com/mufc/p/10230412.html
(27)、Array.isArray()
判断是否是数组