JavaScript本地对象之系列:Array对象

来源:互联网 发布:网络诈骗报警流程 编辑:程序博客网 时间:2024/05/22 04:40

数组是有序数据的集合,JavaScript中的数组元素允许属于不同数据类型。用数组名和下标可以唯一的确定数组中的元素。

数组的创建
创建数组对象有三种方式:

//新建一个长度为零的数组var 数组名=new Array();//生名数组为myArray1,长度为0var myArray1=new Array();//新建一个长度为n的数组var 数组名=new Array(n);//声明数组为myArray2,长度为6var myArray2=new Array(6);//新建一个指定长度的数组,并赋值var 数组名=new Array(元素1,元素2,元素3,...);//声明数组为myArray3,并且分别赋值1,2,3,4var myArray3=new Array(1,2,3,4);

数组对象的常用方法

  • concat():连接两个或多个数组,并返回结果
var arr1=new Array(1,2,3);var arr2=new Array(4,5,6);var arr3=arr1.concat(arr2);console.log(arr3);  //1,2,3,4,5,6var arr3=arr1.concat(10);console.log(arr3);  //1,2,3,10var arr3=arr1.concat();console.log(arr3);  //1,2,3
  • join():把数组中的所有元素转换为一个字符串
var arr1=new Array(1,2,3);console.log(arr1.join());//1,2,3  默认以逗号分隔console.log(arr1.join('-'));//1-2-3 用‘-’连接console.log(arr1.join('+'));//1-2-3 用‘+’连接
  • push():向数组的末尾添加一个或更多元素,并返回新的长度。
var arr1=new Array(1,2,3);  arr1.push(5);console.log(arr1);//1,2,3,5
  • pop():删除数组的最后一个元素并返回删除的元素。
var arr1=new Array(1,2,3,4,5,6);console.log(arr1.pop());//6,返回删除的元素console.log(arr1);//1,2,3,4,5
  • shift():删除并返回数组的第一个元素
var arr1=new Array(1,2,3);console.log(arr1.shift());//返回1,删除第一个元素console.log(arr1);//2,3
  • unshift():向数组的开头添加一个会多个或多个元素,并返回新的长度
var arr1=new Array(1,2,3);console.log(arr1.unshift(5));//返回4,返回的是数组的长度console.log(arr1);//5,1,2,3
  • reverse():反转数组的元素顺序
var arr1=new Array(1,2,3);console.log(arr1.reverse());//3,2,1
  • slice():选取数组的一部分,并返回一个新的数组
var arr1=new Array(1,2,3,4,5);var arr2=arr1.slice(1,4);console.log(arr2);//返回2,3,4  第一个参数是截取数组下标开始的值,截取时包括,第二个参数是截取数组下边的终点值,截取时不包括
  • splice():从数组中添加或删除元素
var arr1=new Array(1,2,10,4,15,6);console.log(arr1.splice(2,4));//返回10,4,15,6  第一个参数是要截取数组下标开始的值,第二个参数是要截取新数组的长度console.log(arr1.splice(2,1));//返回10
  • sort():对数组的元素进行排序
var arr1=new Array(2,10,4,6,30,5,9);console.log(arr1.sort());//返回10,2,30,4,5,6,9  只能根据元素的第一位数字的大小进行排序,不是根据元素值的大小进行排序//下面的是根据元素值的大小进行排序//a-b,由小到大排序console.log(arr1.sort(function(a,b){return a-b}));//返回2,4,5,6,9,10,30//b-a,由大到小排序console.log(arr1.sort(function(a,b){return b-a}));//返回30,10,9,6,5,4,2
  • every():检测数值元素的每个元素是否都符合条件
var arr1=new Array(32,33,16,40);function check(val){return val>=18;}console.log(arr1.every(check));//false
  • indexOf():搜索数组中的元素,并返回它所在的位置
var arr1=new Array(1,2,3,5);console.log(arr1.indexOf(3));//返回2,元素3的下标值
  • lastIndexOf():返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索
var arr1=new Array(1,5,3,5,9,1,5);console.log(arr1.lastIndexOf(5));//返回6,数组元素5最后出现的下标