码迷,mamicode.com
首页 > 编程语言 > 详细

js数组

时间:2015-10-21 00:06:31      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:

一、定义

  数组是一组连续的变量组成的集合--统一起一个名字 批量管理多个数据(js的存储都是数组)

二、创建  

 1 //创建的四种方式
 2 //1 创建一个空数组对象
 3 var arr1=[];
 4 
 5 //2 创建数组的同时,维数指定初始元素
 6 var arr2=[1,2,3,4,5];
 7 
 8 //3 用new关键字创建一个数组类型对象,并返回新对象的地址
 9 var arr3=new Array();
10 
11 //4 创建n个元素的数组空数组;创建带初始元素的数组
12 var arr4=new Array(4);//创建四个元素的空数组
13 var arr5=new Array(1,2,3,4,5);
14 
15 /*
16     js数组下标越界不会出错
17     为不存在的位置赋值:不会出错,会自动创建指定下标的新元素
18     从不存在的位置取值:不会报错,也不会增加新元素,而是返回undefined
19     所有没有赋值的变量的默认值为(自动赋值)undefined;
20     主动释放一个变量引用的对象使用null;
21     当使用完一个较大的对象时,主动释放对象是好的习惯;
22 */

三、数组的复制与取值

1 //数组赋值 数组变量[i]=新值;
2 arr2[2]=99;
3 
4 //数组取值 数组变量[i];
5 var i=arr2[0];

四、length属性

 1 /*获取数组中的元素个数(不等于实际的元素个数)
 2  示例:
 3     arr[arr.length-1];获得任意长度数组中的最后一个元素
 4     arr[arr.length]=Value; 向数组末尾追加一个新元素
 5     改小length的值,可以删除末尾元素
 6 */
 7 var att=[1,2,3,4,5];
 8 console.log(att.length);//5
 9 att[100]=100;
10 console.log(att.length);//101
11 console.log(att);//[1, 2, 3, 4, 5, 100: 100]

length属性大多用于索引数组的遍历

五、关联数组

  定义:可以自定义下标的数组(索引数组:自动生成下标的数组都是索引数组)

 1 /*示例*/
 2 var fbb=[];
 3 fbb["sname"]="范冰冰";
 4 fbb["shx"]=91;
 5 fbb["yuw"]=65;
 6 fbb["eng"]=95;
 7 console.log(fbb);//[sname: "范冰冰", shx: 91, yuw: 65, eng: 95]
 8 /*
 9 关联数组中的length属性失效
10 关联(hash)数组:下标不能重复;优点:利用Hash算法,精确定位某个下标的位置,不用遍历
11 索引数组:缺点:小标自动分配无意义,想要内容查找元素,只能从头开始遍历
12 */
13 
14 /*关联数组遍历*/
15 for(var key in fbb){
16         console.log(key+" : "+fbb[key]);
17     }//sname : 范冰冰  shx : 91  yuw : 65  eng : 95

六、数组API

  1.数组输出toString(2种):

 1 /*var str=arr.toString();-->输出数组中的内容,每个元素用逗号分隔,自动调用
 2    var str=arr.join(“”);-->输出数组中的内容,自定义元素间连接符
 3 */
 4 var arr=[1,2,3,4,5];
 5 console.log(arr);//[1, 2, 3, 4, 5] 默认toString()方法
 6 console.log(arr.join("-"));//1-2-3-4-5 自定义连接符
 7 
 8 /*join的两种固定使用方式
 9 1.将字符组成单词:arr.join("");
10 2.将单词组成句子:arr.join(" ");
11 */
12 var arrChar=["H","e","l","l","o"];
13 console.log(arrChar.join(""));//Hello
14 var arrWord=["My","name","is","Medeor","."];
15 console.log(arrWord.join(" "));//My name is Medeor .

  2.拼接concat和截取slice

1 /*concat示例 ar newArr.concat(另一个数组,值1,值2,...);*/
2 var arr=[1,2,3,4,5];
3 var newArr=arr.concat([6,7,8,9,0]);
4 console.log(newArr);//[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
5 
6 /*slice var subArr=arr.slice(starti,endi+1);//含头不含尾
7 (API无法直接修改原对象,而返回新对象)*/
8 var subArr=newArr.slice(3,7);
9 console.log(subArr);//[4, 5, 6, 7]

  3.splice  删除、插入、替换(直接修改原对象)  

 1 /*1.删除:[var deleted=]srr.splice(strti,删除个数);*/
 2 var arr=[1,2,3,4,5,6,7,8,9,0];
 3 arr.splice(2,3);//从下表为2的元素开始删除3个元素
 4 console.log(arr);//[1, 2, 6, 7, 8, 9, 0]
 5 
 6 /*2.插入:arr.splice(starti,0,新值1,...);*/
 7 arr.splice(2,0,5,4,3);//从下表为2的元素开始删除0个元素 插入5 4 3
 8 console.log(arr);//[1, 2, 5, 4, 3, 6, 7, 8, 9, 0]
 9 
10 /*3.替换:arr.splice(starti,删除个数,新值1,...);*/
11 arr.splice(2,3,"a","b","c");//从下表为2的元素开始删除3个元素 插入a b c
12 console.log(arr);//[1, 2, "a", "b", "c", 6, 7, 8, 9, 0]

  4.arr.reverse();颠倒数组中所有元素

 

js数组

标签:

原文地址:http://www.cnblogs.com/Medeor/p/4896333.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!