var a=[1,2,3,4,5];
1.push
push在数组的最后一位插入数据,并返回插入后的数组长度
var b=a.push(7);—>6
2.pop
pop删除数组的最后一位并返回被删除的元素
var c=a.pop()----->7
3.shift
删除数组的第一个元素,并返回被删除的元素
var d=a.shift()------>1
4.unshift
在数组的最前面添加数据,并返回数组长度
var d=a.unshift(2,3,4)---->6
5.sort
将数组进行排序,并返回已经排序的数组,sort有两种形式(无参调用和有参数调用),无参数调用的时候默认是按照字符编码(ASCII)排序,如果是纯数据的话就会出现乱的排序(因为会自动生成字符编码ASCII再排序),所以要纯数字的排序就需要用到有参数sort(a,b),比较a,b的大小
var a=[24,3,5,11,2,55,13,88,76]
var b=a.sort();----》数组
//升序:
a.sort(function(a,b){
return a-b;
})
//降序
a.sort(function(a,b){
return b-a;
})
实现原理:利用冒泡排序,进行比较a和b的值
a>b---------- 》 返回负数-----》前面的数字在前面(不做改变)
a<b----------》 返回正数-----》前面的数字在后面(调换顺序)
a=b----------》 返回0---------》不变
6.reverse
把数组反转(倒过来)并返回数组
a.reverse();
7.splice
splice返回一个从原数组被删除的项,若没有删除则返回一个空数组。
splice() 方法向/从数组中插入/删除/替换项目,然后返回被删除的项目。
删除:splice(要删除的位置,要删除的个数)
插入:splice(起始位,0(删除多少长度),要添加的项)
替换:splice(起始位,删除长度,要插入的项(任意个))
var a=[1,2,3,4,5]
var b=a.splice(2,2);
a= [1, 2, 5]
b=[3,4]
8.slice
两个参数:slice(从该位开始截取,到这位结束),返回截取的数组,
无参数的时候截取整个数组
一个参数:slice(开始位)截取从开始位到数组末尾
9.join
join(字符串),按照传入的字符串将数组进行连接,变成字符串
数组------》字符串
10.split
split(字符串) 按照传入的字符串将数组进行拆分数组
字符串-----》数组
11、concat
创建原有数组的副本并且在数组末尾添加新的项
var a1=[1,2]
var a2=a1.concat(3,4);
console.log(a2)---->1,2,3,4
12、位置方法
两个方法查找不到返回-1
indexOf(要查找的项(可选))返回项在数组的位置。从数组头部开始
lastIndexOf()从数组的尾部开始查找
13、forEach(函数,this)参数可以省
数组的循环可以代替for循环
arr.forEach(function(item,index,arr){
});
14、map(函数,this)
一般配合return,返回一个新数组,没有return的话就跟forEach
15、filter(函数,this)
过滤作用,如果函数返回true则留下该项item
16.some()
某些项的函数返回true则返回true,类似查找某个元素符合函数条件是否存在
17、every()
所有项都符合条件就返回true
可以用来求数组的和,求阶乘
19、reduceRight()从右往左
20、for… of
arr.keys()数组的下标
arr.entries()数组的某一项
21、es6新增的扩展运算符 三个点
var arr=[1,2,3];
var arr2=[…arr];
22、将类数组转换成数组
let li=document.querySelector('ul li');
es5的方法:let arr=[].slice.call(li);
es6的方法:let arr=Array.from(li);
23、Array.of
把一组值变成数组
var arr=Array.of(“a”,“n”,“v”);
//arr=[a,n,v]
24、find()
查找出第一个符合条件的数组成员,没有返回undefine