静态方法(构造函数方法)
Array
Array.isArray(v); //判断v是不是数组
Array.of(); //弥补new Array()的缺点
非静态方法(原型方法)
1.遍历方法
1)Array.prototype.forEach()
作用:作用:对指定数组进行遍历
参数:回调函数,function(item,index,arr){},item表示遍历出来的元素,index表示索引,arr表示当前数组
返回值:undefined
2)Array.prototype.every()
作用:对指定函数进行遍历,查看是否每个元素都满足指定条件
参数:回调函数,function(item,index,arr){},item表示遍历出来的元素,index表示索引,arr表示当前数组;返回boolean。当有回调函数返回false,停止遍历,every返回false;当所有的回调函数返回true,every返回true
返回值:boolean
3)Array.ptototype.some()
作用:对指定函数进行遍历,查看是否有元素满足指定条件
参数:回调函数,function(item,index,arr){},item表示遍历出来的元素,index表示索引,arr表示当前数组;返回boolean。当有回调函数返回true,停止遍历,some返回true;当所有的回调函数返回false,some返回false
返回值:boolean
4)Array.ptototype.map()
作用:对指定函数进行遍历,将每个回调函数返回结果组成新数组进行返回
参数:回调函数,function(item,index,arr){},item表示遍历出来的元素,index表示索引,arr表示当前数组,返回任意数据类型。map将所有回调函数返回的结果组成新数组进行返回
返回值:数组
5)Array.ptototype.filter()
作用:对指定函数进行遍历,当回调函数返回true,就将当前元素返回,filter将所有返回的元素组成新数组返回
参数:回调函数,function(item,index,arr){},item表示遍历出来的元素,index表示索引,arr表示当前数组,返回boolean。
返回值:数组
2.栈方法
1)Array.prototype.push()[浅拷贝–在原值上做的改变]
作用:入栈。将参数追加到数组末尾
参数:数字,表示要追加到数组末尾的值
返回值:数组长度
2)Array.prototype.pop()[浅拷贝–在原值上做的改变]
作用:出栈。将数组末尾元素删除并返回
参数:没有参数
返回值:出栈的元素
3.队列方法
1)Array.prototype.shift()[浅拷贝–在原值上做改变]
作用:出队列。将数组开头元素删除并且返回
参数:无
返回值:出队列的元素
2)Array.prototype.unshift()[浅拷贝–在原值上做改变]
作用:插队列。将数组开头元素插入元素
参数:*,表示要插入到数组开头的值
返回值:数组长度
4.排序方法
1) Array.prototype.reverse()[浅拷贝–在原值上做改变]
作用:将数组中元素的顺序进行反转
参数:无
返回值:反转之后的数组
2)Array.prototype.sort() [浅拷贝–在原值上做改变]
作用:对数组中的元素进行排序,当该方法中没有参数的情况下,默认将数组中的元素转换为字符串,然后再进行排序,按照字符在ASCII表中的顺序进行排序(排序时如果有字符串,就按字符串的第一个字符为准,进行排序),当参数为比较器函数的话,按照比较器函数进行排序
ASCII表顺序 数字(30) A(41) a(61)
参数:无/比较器函数(回调函数)function(a,b){}
当比较器函数返回值大于0,说明a在b的后面
当比较器函数返回值小于0,说明a在b的前面
返回值:反转之后的数组
不带参数
带参数
5.查找方法
1)Array.prototype.indexOf()[浅拷贝–在原值上做改变]
作用:查询参数在数组中的位置,查找顺序由前到后
参数:值
返回值:该值在数组中的索引(结果只有一个,找到一个就不再找了)
2)Array.prototype.lastIndexOf() [浅拷贝–在原值上做改变]
作用:查询参数在数组中的位置,查找顺序由后到前
参数:值
返回值:该值在数组中的索引(结果只有一个,找到一个就不再找了)
6.截取方法
1) Array.prototype.slice(begin,end)[深拷贝-不改变原值]
作用:从原数组中截取子元素
参数:begin表示截取的开始位置,end表示截取的结束位置,从begin开始,到end结束,不包括end
返回值:截取的子数组
2) Array.prototype.splice(begin,len,a,b,c,…)[浅拷贝-原值发生改变]
作用:在原数组中进行删除、插入、替换
参数:begin表示开始位置,len表示删除的个数,当len的值为0时,就表示插入,a、b、c就表示插入的元素;当len的值大于0时,并且之后有元素,则表示替换
返回值:删除的元素组成的数组
7.拼接方法
Array.prototype.concat(数组)[深拷贝]
作用:将参数中的数组与原数组进行合并
参数:多个数组
返回值:合并后的数组
8.序列化方法
将数组转换为字符串
1)序列化为json
var arr = [1,2,3]
JSON.stringify(arr) //'[1,2,3]'
var arr = [{
name:"terry",
age:12
}]
JSON.stringify(arr) //'[{"name":"terry","age":12}]'
2)序列化为qs
var param = {
ids:[1,2,3]
};
querystring.stringify(param); // 'ids=1&ids=2&ids=3'
3) Array.prototype.join()
作用:将数组中的元素转化为字符串,并且通过指定参数进行连接,如果没有指定参数,使用逗号连接
参数: 值
返回值:字符串
4)Array.prototype.toString()
作用:将数组中的元素转换换为字符串,并且通过","拼接