Array对象静态方法Array.isArray()typeof操作符只能显示数组的类型是Object,Array.isArray方法可以识别数组。Array.isArray方法返回一个布尔值,指示参数是否为数组。可以弥补typeof操作符的不足。vararr=[1,2,3];typeofarr//"object"Array.isArray(arr)//truepush(),pop()push方法用于在数组末尾添加一个或多个元素,并返回添加新元素后的数组长度.请注意,此方法将更改原始数组。vararr=[];arr.push(1)//1arr.push('a')//2arr.push(true,{})//4arr//[1,'a',true,{}]pop方法用于删除数组的最后一个元素并返回该元素。请注意,此方法将更改原始数组。vararr=['a','b','c'];arr.pop()//'c'arr//['a','b']shift(),unshift()shift()方法用于移除数组的第一个元素并返回该元素。请注意,此方法将更改原始数组。vara=['a','b','c'];a.shift()//'a'a//['b','c']首先使用unshift()方法在position添加一个元素,添加新元素后返回数组的长度。请注意,此方法将更改原始数组。vara=['a','b','c'];a.unshift('x');//4a//['x','a','b','c']join()join()方法以指定参数为分隔符,将所有数组成员拼接成一个字符串返回。如果没有提供参数,则默认以逗号分隔。变量a=[1,2,3,4];a.join('')//'1234'a.join('|')//"1|2|3|4"a.join()//"1,2,3,4"通过call方法,它也可以用于字符串或类似数组的对象。Array.prototype.join.call('hello','-')//"h-e-l-l-o"varobj={0:'a',1:'b',length:2};Array.prototype.join.call(obj,'-')//'a-b'concat()concat方法用于合并多个数组。它将新数组的成员添加到原数组成员的末尾,然后返回一个新数组,保持原数组不变。['hello'].concat(['world'])//["hello","world"]['hello'].concat(['world'],['!'])//["hello","world","!"][].concat({a:1},{b:2})//[{a:1},{b:2}][2].concat({a:1})//[2,{a:1}]reverse()reverse方法用于对数组元素进行反转,返回改变后的数组。请注意,此方法将改变原始数组。vara=['a','b','c'];a.reverse()//["c","b","a"]a//["c","b","a"]slice()slice()方法用于提取一部分目标数组并返回一个新数组,保持原始数组不变。arr.slice(start,end);vara=['a','b','c'];a.slice(0)//["a","b","c"]a.slice(1)//["b","c"]a.slice(1,2)//["b"]a.slice(2,6)//["c"]a.slice()//["a","b","c"]splice()splice()方法用于删除部分原数组成员,并可以添加新的数组成员arr.splice(start,count,addElement1,addElement2,...);vara=['a','b','c','d','e','f'];a.splice(4,2)//["e","f"]a//["a","b","c","d"]vara=['a','b','c','d','e','f'];a.splice(4,2,1,2)//["e","f"]a//["a","b","c","d",1,2]sort()sort方法对数组成员进行排序,默认是按照字典排序。排序后,原来的数组会发生变化。['d','c','b','a'].sort()//['a','b','c','d'][4,3,2,1].sort()//[1,2,3,4][11,101].sort()//[101,11][10111,1101,111].sort()//[10111,1101,111]map()map()方法将数组的所有成员依次传递给参数函数,然后组成一个新的数组返回每次的执行结果。可变数字=[1,2,3];数字。地图(函数(n){返回n+1;});//[2,3,4]数字//[1,2,3]forEach()forEach()方法与map()方法非常相似。forEach()方法不返回值,仅用于操作数据。functionlog(element,index,array){console.log('['+index+']='+element);}[2,5,9].forEach(log);//[0]=2//[1]=5//[2]=9filter()filter()方法用于过滤数组的成员,满足条件的成员组成一个新的数组并返回。[1,2,3,4,5]。filter(function(elem){return(elem>3);})//[4,5]vararr=[0,1,'a',false];arr.filter(Boolean)//[1,"a"]filter()方法返回数组arr中布尔值为true的所有成员。some()、every()some方法就是只要其中一个成员的返回值为true,则整个some方法的返回值为true,否则返回false。vararr=[1,2,3,4,5];arr.some(function(elem,index,arr){returnelem>=3;});//trueevery方法是所有成员的返回值为true,整个every方法返回true,否则返回false。vararr=[1,2,3,4,5];arr.every(function(elem,index,arr){returnelem>=3;});//falsereduce()、reduceRight()reduce()方法和reduceRight()方法依次处理数组的每个成员,累加到一个值。不同的是reduce()是从左到右处理的(从第一个成员到最后一个成员),reduceRight()是从右到左处理的(从最后一个成员到第一个成员),其他的正好是相同的。[1,2,3,4,5].reduce(function(a,b){console.log(a,b);returna+b;})//12//33//64//105//Lastresult:15indexOf(),lastIndexOf()indexOf方法返回给定元素在数组中第一次出现的位置,如果没有出现则返回-1。vara=['a','b','c'];A。indexOf('b')//1a.indexOf('y')//-1
