js数组方法整合
数组方法:
push()
功能: 向数组后面追加数
参数: 要增加的数据,可以是多个
返回值:数组增加之后的长度
pop()
功能:删除最后一组数据
参数:无参数
返回值:删除了的数据
unshift()
功能:向数组最前面追加数据
参数:要增加的数据,可以是多个
返回值:数组增加之后的长度
shift()
功能:删除数组最前面的数据
参数:无参数
返回值:删除的数据
reverse()
功能:反转数组
参数:无参数
返回值:翻反转之后的数组
sort()
功能:按照一位一位的进行排序
参数:函数:function(m,n){return n-m;} m-n数值升序,n-m数值降序
返回值:排序之后的数组
splice()
功能:删除并替换指定位置的数据
参数:2个:从第几个位置删除几个
2个以上:从第几个位置删除几个后,插入后边的数据
返回值:排序之后的数组
slice()
功能:截取并拷贝出子数组
参数:一个:从指定位置开始截取,到结束
二个:从指定位置到结束位置的前一个
返回值:截取并拷贝出来的新数组
concat()
功能:将数据合并到新数组并返回
参数:任何数据,如果是数组的话,会被展开再合并进去
返回值:合并之后的新数组
join()
功能:将数组转成字符
参数:转成字符之后,每个数据之间的间隔符
返回值:转换结果
静态方法/类方法
Array.form()
功能:将伪数组转为真数组,等同于(…展开数组)
参数:伪数组
返回值:新数组
Array.isArray()
功能:验证是否为数组
参数:所有数值
返回值:布尔值
数组冒泡排序:
数组选择排序:
es5数组方法
indexOf() 方法
作用: 查找数组中有没有某一个数据(按照索引正序查找 0 1 2 3 …)
语法:
数组.indexOf(要查找的数据)
数组.idnexOf(要查找的数据, 从哪一个索引开始)
第二个参数不写默认是 0
返回值: 是一个数字
如果有你要查找的数据, 那么返回的是第一个找到的数据的索引
如果没有你要查找的数据, 那么返回的是 -1
lastIndexOf() 方法
作用: 查找数组中有没有某一个数据(按照索引倒叙查找 9 8 7 6 …)
语法:
数组.lastIndexOf(你要查找的数据)
数组.lastIndexOf(你要查找的数据, 从哪一个索引开始)
返回值: 是一个数字
如果找到你要查找的数据了, 那么就返回第一个找到的数据的索引
如果没有找到你要查找的数据, 那么就返回 -1
forEach() 方法
作用: 就是用来循环遍历数组的, 等价于 for 循环遍历数组的地位
语法:
数组.forEach(function (item, index, arr) {})
返回值: 没有
map() 方法
作用: 映射一个数组, 把原始数组里面的每一个数据映射倒新数组里面返回
语法:
数组.map(function (item, index, arr) {})
返回值: 就是一个新的数组
里面的每一项始从原始数组中映射过来的
filter() 方法
作用: 把原始数组里面满足条件的数据过滤出来, 放在一个新数组里面
语法:
数组.filter(function (item, index, arr) {})
返回值: 就是一个新的数组
里面的每一项都是从原先数组中过滤出来的
every() 方法
作用: 就是判断数组里面是不是 每一个 都是符合条件的
语法:
数组.every(function (item, index, arr) {})
返回值: 是一个布尔值
如果数组里面所有的数据都是满足条件的, 那么返回 true
只要数组里面有任意一个不满足条件, 那么返回 false
some() 方法
作用: 就是判断数组里面是不是 某一个 是符合条件的
语法:
数组.some(function (item, index, arr) {})
返回值: 是一个布尔值
如果数组里面有任何一个是满足条件的, 那么返回 true
只有数组里面所有的都不满足条件的时候, 返回 false