迭代方法
forEach:遍历所有元素,可以访问到下标和值,参数的顺序为(值,下标)
替代for循环,不要只知道for循环,传递一个函数,对每一项进行逻辑处理。直接处理,无需返回值,一般执行操作使用
every:判断所有元素是否都符合条件,每个元素都满足条件返回true,否则返回false
结果为布尔值
some:是否有元素符合条件,只要有一个元素符合条件就是true
返回值也是布尔值,作为判断使用
sort:排序
map:映射,用法与forEach类似,不修改原数组,把元素映射成对应新数组,产生一个新数组,原来数组不变
- 可以利用
map
方法方便获得对象数组中的特定属性值
filter:过滤符合条件的元素,只保存符合条件的元素给return tru,组合成一个新数组
数组转换方法
toString()返回数组元素组成的字符串
valueOf()
join() 实现数组拼接成字符串
数组的栈队列方法
push pop栈,在数组末尾进行进栈出栈
push进行进栈操作,返回数组的长度,pop出栈
shift unshift队列方法
shift出,unshift()在数组头部插入若干项,返回操作后的数组长度
排序操作位置方法
sort
sort方法的原理:调用每个数组项的toString()方法,比较得到的字符串,以确定如何排序
reverse
只是反转,不代表排序
concat不改变原数组
- arr.concat()没有传参数时,返回原来数组的一个副本
- arr.concat(arr1,arr2…)参数为一个或者多个数组,会讲这些数组每一项添加到原来数组副本的后面
- arr.concat(value1,value2…)传递的是值,将这些值直接加到数组末尾后面
slice不会影响原来的数组
- slice(a):返回下标a开始到结尾所有项组成的新数组
- slice(a,b):返回下标a开始到下标b前面所有项组成的新数组
若参数a,b中有负数,用数组长度与负数相加的和确定具体位置
splice最强大
删除数组中的一些项:splice(a,b)从下标a开始删除b项的数组内容
插入与删除同时进行(替换):splice(a,b,item1,item2…)从下标a开始删除b项的同时插入item1,item2等项
插入:splice(a,0,item1,item2…)
indexOf()和lastIndexOf()
从前往后,从后往前数组中某项的下标
indexOf()==lastIndexOf()时候可以确定数组中只出现一次的元素
归并方法
reduce
reduceRight