第二篇 javascript一维数组和二维数组及方法
一、数组
什么是数组
程序=数据+算法
数组就是一种很常见的保存批量数据的数据结构
一、定义数组
var arr1=[]; //定义了一个不包含元素的数组 var arr2=[11,12,13]; //定义了一个包含三个元素的数组 var arr3=new Array(2); //定义了一个包含两个元素哦数组,下标为0,1 var arr4=new Array("aa",1,"false"); //定义了包含三个元素的数组 上面的new就是开辟新的空间
var scores = [95、88、100] 设置数组的值——set scores[2]=98 改变数组内元素 scores[3]=75 添加数组内元素 获取数组的值——get var scores = [95、88、100] console.log(scors[1]) //88 使用lenth属性获取数组中元素的个数 在数组尾部追加新元素 scores[scores.length]=100 添加元素
二、方法
数组分为两种
索引数组 :以数字作为下标
关联数组 :以一个字符串作为下标
1、关联数组的lenth属性值永远为0
2、关联数组的遍历只能使用for..in循环
数组常用方法:
1 obj.splice(start, Count, e1,e2,e3 ...) 插入、删除或替换数组的元素 返回删除的项目 2 obj.splice(start,0,val) 指定位置插入元素 3 obj.splice(start,1,val) 指定位置替换元素 4 obj.splice(n,1) 指定位置删除元素
上面参数、start 指定添加/删除的起始位置,可取负值
count 要删除元素的个数,0表示不删除
e1,e2,e3..在start处添加的项
5 6 arr.reverse() 颠倒排序方式 7 8 arr.sort([sortby]) 数据排序 9 10 arr.push(e1,e2…en) 入栈 11 12 arr.pop() 出栈 13 14 arr.unshift(e1,e2…en) 在头部添加新元素 15 16 arr.shift() 从头部删除新元素 17 18 arr.valueOf() 返回每个字符串表示 19 20 arr.toString() 把数组转化成字符串 21 22 arr.toLocaleString() 转化成本地型字符串 23 24 arr.join(‘@’) 返回一个字符串,是由每个元素转换而成的字符串使用指定的@拼接而成,里面参数可以任意 25 26 arr.concat(other1,other2) 拼接两个或者更多的元祖,并且返回结果 27 28 arr.slice() 切片 29 30 arr.lenth 数组的长度(只能应用于索引数组)
var arr1=[10,20,30,40,50]; var arr2=arr1.splice(2,2,21,22,23); console.log(arr2); //[30,40] console.log(arr1); //[10,20,21,22,23,50] 这里的start不是指代的下标,而是个数
二、二维数组
二维数组:从整体上看是一个数组,但是其中一个元素又是一个数组,即数组中的数组。二维数组就是一个table表格
1、访问二维数组中的某个元素 var arr1=[[11,12,13],[21,22,23],[31,32,33]]; consolo.load(arr1[0][0]); //值为11 arr1[1][2]=230; //把23改成230 3、遍历二维数组中的每个元素--循环的嵌套 for(var i=0;i<arr1.length;i++){ for(var j=0;j<arr[i].length;j++){ document.write(arr[i][j] + " "); } document.write("<br/>") }
使用二维数组
var arr1=[[11,12],[113.14]]; //定义一个规则的二维数组 var arr2=new Array(); //顶一个一个不规则的二维数组 arr2[0]=[11]; arr2[1]=[22,23]; console.log(arr2); var arr3=new Array(); //定义一个形如表格的二维数组 arr3[0]=new Array(1,"pyrene",'2010'); arr3[1]=new Array(2,"py","2010"); arr3[2]=new Array(3,"pyrenee","2010"); document.write(arr3);