关于JavaScript中的数组做出了如下总结:1、数组是用来存储一组不同类型的数据的容器。可以使用构造函数的方法和字面量的方法来声明函数;访问数组通过下标的方法来访问;arr.length可以获得数组长度。2、数组栈方法包括:unshift():在数组头部插入值,返回值为数组长度push():在数组末尾插入值,返回值为数组长度shift():删除数组中第一个值,返回值为被删除的值pop():删除数组中最后一个值,返回值为被删除的值3、数组转字符串:join(“转换成字符的连接符,默认为逗号分开”)4、数组排序:reverse()数值反序(例如下:var arr=[1,2,3]; document.write(arr.reverse());输出值为:3,2,1)sort()元素比较大小(比大小分两种情况,例1如下: var arr=[5,2,3]; var arrs=arr.sort(); document.write(arrs);输出值为2,3,5; 例2如下: var arr=[1,21,3,0]; document.write(arr.sort());输出值为0,1,21,3; 例2的比较大小是按第一个元素来比较的,正确升序应该为0,1,3,21,代码如下: var arr=[1,21,3,0]; document.write(arr.sort(function (x,y){ return x-y; })); 输入出值为:0,1,3,21; 降序为: var arr=[1,21,3,0]; document.write(arr.sort(function (x,y){ return y-x; })); 输出值为21,3,1,0; ) 所以sort在对数组进行排序后,返回新数组,sort里可以接收一个匿名函数来对数组进行升序与降序5、splice:具有删除、替换、插入功能例如下: var arr=[1,2,3,5]; //splice替换值,替换3 var insertArr=arr.splice(2,1,“我是替换值”);//返回被删除的值 document.write(arr+"<br />");//输入结果为[1,2,我是替换值,5] //splice插入值,在3的后面插入值 var replaceArr=arr.splice(3,0,“我是插入值”); document.write(arr+"<br />");//[1,2,3,我是插入值,5 ] //splice删除值 var delArr=arr.splice(2); //返回被删除的值 document.write(arr+"<br />"); //[1,2]6、arr.indexOf(必写的要查找的项,可选查找的起点的位置索引) 从数组的头部开始检测 arr.lastIndexOf(必写的要查找的项,可选查找的起点的位置索引) 从数组的尾部开始检测 例: var arr=[1,2,3,5,2,1,3]; //数组头部开始检测元素2的位置 var firstArr=arr.indexOf(2) console.log(“数组中从前往后数第一个元素2的下标为”+firstArr); //输出值为1 //数组尾部开始检测元素1的位置 var lastArr=arr.lastIndexOf(1); console.log(“数组中从后向前数第一个元素1的下标为”+lastArr); //输出值为57、常见的数组面试题如下: 1)数组去重<!DOCTYPE html> <html> <head> <meta charset=“UTF-8”> <title></title> </head> <body> <script type=“text/javascript”> var arr=[1,2,3,1],//原数组 newArr=[], //新数组 flag; for(var i=0;i<arr.length;i++){//循环原数组 flag=true; for(var j=0;j<newArr.length;j++){ //循环新数组 if(newArr[j]==arr[i]){ //如果两个数组中有相同的数,flag为假 flag=false; } }; if(flag){ //如果flag为真 newArr.push(arr[i]);//将arr[i]插入到新数组中 } } document.write(newArr) </script> </body> </html> 2)数组求和 <!DOCTYPE html> <html> <head> <meta charset=“UTF-8”> <title></title> </head> <body> <script type=“text/javascript”> //1.计算给定数组 arr 中所有元素的总和 var arr=[1,2,3]; function arryAnd(){ var sum=0;//和的初始值 for(var i=0;i<arr.length;i++){ sum+=arr[i];//sum=sum+0+arr[i]依次类推 } console.log(sum); } arryAnd(); </script> </body> </html>3)合并数组<!DOCTYPE html><html> <head> <meta charset=“UTF-8”> <title></title> </head> <body> <script type=“text/javascript”> //合并数组 arr1 和数组 arr2。不要直接修改数组 arr,结果返回新的数组 var arr1=[1,2,3], arr2=[4,5,6], arr; function merge(){ return arr1.concat(arr2) } console.log(merge()); console.log(arr) </script> </body></html>4)将数组中某个数删除,以0为例<!DOCTYPE html><html> <head> <meta charset=“UTF-8”> <title></title> </head> <body> <script type=“text/javascript”> var arr=[0,2,3,0,5,0],//旧数组 newArr=[]; for(var i=0;i<arr.length;i++){ //循环新数组 if(arr[i]==0) continue; newArr.push(arr[i]); } console.log(newArr); </script> </body></html>5)switch星期的获取<!DOCTYPE html><html> <head> <meta charset=“UTF-8”> <title></title> </head> <body> <script type=“text/javascript”> //获取星期的方法 var week=new Date().getDay(); console.log(week);//返回number,0-6 switch(week){ case 0: document.write(“星期日”); break; case 1: document.write(“星期一”); break; case 2: document.write(“星期二”); break; case 3: document.write(“星期三”); break; case 4: document.write(“星期四”); break; case 5: document.write(“星期五”); break; case 6: document.write(“星期六”); break; //或最后一天如下所示:// default:// document.write(“星期六”); } </script> </body></html>