es5常用数组方法
push(item1,item2,item3...),数组末尾增加项;参数为多个添加项;返回添加后的数组长度;原数组改变
unshift(item1,item2,item3..),数组开头增加项;参数为多个添加项;返回添加后的数组长度;原数组改变
pop(),删除数组末尾一项;无参数;返回删除项,其数据类型为删除项对应的数据类型;原数组改变
shift(),删除数组起始项;无参数;返回删除项,其数据类型为删除项对应的数据类型;原数组改变
splice(index,howMany,item1,item2....),从index开始删除howMany项,并用item1,item2开始替换掉删除的项;返回值为被删除的数组
concat(),参数为拼接数组,返回修改后的数组,原数组改变
reverse();翻转原数组,数组改变,返回数组
sort();从小到大排,数组改变:ary.sort(function(a,b){return a-b;Or return b-a;}),返回改后的数组
toString(),将数组转为字符串,以逗号分隔
join(),参数为分隔符,返回字符串---结合eval(),将字符串变成js可执行代码,实现数学运算
forEach(function(item,index)),遍历数组,没有返回值
map(),遍历数组,有返回值
//查看一部分
slice(n,m),从n开始找到m,(n,m],负值截取并返回该数组。
//点查看
indexOf(),从前往后找/lastIndexOf(),从后往前找,IE不兼容,可以转为字符串后再执行indexOf;
es6方法扩展
fill(item,start,end),用item来填充数组中的值,方便用于数组的初始化,单一参数时表示全部替换,同slice()类似,可以接受第二个第三个参数,不同的是,后面表示替换从何开始,从何结束。
[1,1,1].fill(7,1,2)=>[1,7,1]
copyWithin(target,start,end),见名知意,复制数组中的元素[start,end)从target开始复制替换
[1,2,3,4,5].copyWithin(0,3,4)=>[4, 2, 3, 4, 5]
//查看全部
entries()/keys()/values(),用于ES6的数组遍历,均返回遍历器对象,可用for..of循环遍历,区别entries遍历键值对,keys遍历键,values遍历值。
for(let index/elem/[index,elem] of ['a','b'].keys()/.values()/.entries()){
console.log(index/elem/(index,elem))
}
//点查看
find()/findindex(),均为找出第一个符合条件的数组成员,参数为回掉函数,所有数组成员依次执行,找出返回true,区别在于,没有满足函数的数组成员时,find()将返回undefinde,findindex()将返回-1;
[1,3,4,5,-2].find(function(value,index,arr){
return value <0;
})=>-2
Array.from(),将对象转为真正的数组,类数组何迭代对象均可使用。
let arrayLike = {'0','a','1':'b'};
let arr = Array.from(arrayLike);=>['a','b','c'];
Array.of(),将一组值转换为数组,其主要为弥补Array()构造时,再参数不足2位默认位数组长度的不足,
Array(3)=>[, , ,]
Array.of(3)=>[3];