isArray
判断的是否为数组,typof只能辨别基本类型的值
Array.isArray(arr)
indexOf
查找数组中的元素,有则返回下标,没有返回-1
let arr = [1,2,3]
arr.indexOf(1)
toString
将数组转换为字符串
let arr = [1,2,3]
arr.toString()
push
在数组中最后添加新项
arr.push(xxx)
pop
删除数组最后一项
arr.pop()
unshift
在数组的第一项中添加
arr.shift()
shift
删除数组的第一项
arr.shift()
join
自定义分割符,默认是逗号
arr.join(',')
concat
合并数组,返回新的数组
arr.concat()
reverse
颠倒数组排列顺序
arr.reverse
slice
截取数组
arr.slice(开始,结束)
splice
截取数组(含头不含尾,从0开始)
arr.splice(start,end)
替换数组
//添加一个元素
var array = [1,2,3,4,6];
array.splice(4,0,5);
//[1,2,3,4,5,6]
//替换元素
var array = [1,2,2,4,5];
array.splice(2,1,2);
//[1,2,3,4,5]
sort
数组排序(不支持数字)
arr.sort()
自定义比较器
arr.sort(function(a,b){return a-b})
ES6新增
form
将类数组对象转换为数组
Array.from(类数组对象)
of
将一组值,转换为数组
Array.of(一组值)
copyWithin
将制定位置的成员赋值到其他位置(会覆盖原有成员),最后返回新数组接收第三个参数;
- target: 从开始位置替换数据
- [start]: 从该位置开始读取数据.默认为0,如果为负值,表示倒数
- [end]: 到该位置前停止读取数据,默认等于数组长度,如果是复试,表示倒数
let test = [1,2,3,4,5].copyWithin(0,3,4);
console.log(test) //[4,2,3,4,5]
find()/findIndex()
查找第一个符合条件的数组成员返回bool/index.
- fill() 填充数组
- 参数1: 替换成什么
- 参数2: 开始位置
- 参数3: 结束位置
let arr = ['a','b','c','d','e'];
console.log(arr.fill('o',0,3)) //["o", "o", "o", "d", "e"]
entries()\keys()\value()
- entries 遍历键值对
- keys 遍历健名
- value 遍历健值
- 需要配合for…of使用
//遍历场景
let arr = ['a','b','c','d','e'];
for(let v of arr.values()){
console.log(v) //[a,b,c,d,e]
}
for(let v of arr.values()){
console.log(v) //[0,1,2,3,4]
}
for(let [k,v] of arr.entries()){
console.log(k,v) //下标加value
}
inclides
数组查找,返回bool值
let arr = ['a','b','c','d','e'];
console.log(arr.includes("a"))
新增数组属性
map
map返回数组每一项逐个调用fun方法,空数组除外,不会改变原数组 可返回值
- 参数说明
- 当前项
- 当前项的下标
- 原数组(可返回值)
var newarr = arr.map((elem,index,arr)=>{执行语句})
forEach
forEach会将数组每一项逐各调用fun方法,空数组除外,切不会改变原数组;不可返回值
- 参数说明
- 当前项
- 当前项的下标
- 原数组
var newarr = arr.forEach(function(elem,index,arr){执行语句})
filter
过滤数组元素返回满足元素的数组
arr.filter(function(elemen){执行语句})
some
将所有数组成员一次执行此方法,只要一个返回true将返回true否则返回false
arr.some(function(elem,index,arr){return 条件})
every
将所有成员一次执行此方法,只有都返回true才会返回true否则返回false
arr.every(function(elem,index,arr){return 条件})
reduce
依次处理数组的每个成员,最终累计为一个值(从左到右)
arr.reduce(function(a,b){return 执行语句},base)
reduceRight
依次处理数组的每个成员,最终累计为一个值(从右到左)
arr.reduceRight(function(a,b){return 执行语句})