JS 索引数组、关联数组和静态数组、动态数组

 1 JS 索引数组、关联数组和静态数组、动态数组
 2 
 3 数组分类:
 4 
 5 1、从数组的下标分为索引数组、关联数组
 6 
 7 var ary1 = [1,3,5,8];
 8 //按索引去取数组元素,从0开始(当然某些语言实现从1开始)
 9 //索引实际上就是序数,一个整型数字
10 alert(ary1[0]);
11 alert(ary1[1]);
12 alert(ary1[2]);
13 alert(ary1[3]);
14 
15 
16 var ary2 = {};
17 //存取时,以非序数(数字),这里是字符串
18 ary2["one"] = 1;
19 ary2["two"] = 2;
20 ary2["thr"]  = 3;
21 ary2["fou"] = 4;
22 
23 2、从对数据的存储分为静态数组、动态数组
24 
25  Int[] ary1 = {1,3,6,9};//定义后数组的长度固定了不能改变,按索引取数组元素    List ary2 = new ArrayList(); ary2.add(1);//可以动态的添加元素,数组的长度也随着变化 ary2.add(3); ary2.add(6);  
26 
27  
28 
29 var ary = [];//定义一个数组,未指定长度
30 ary[0] = 1;//可以动态的添加元素
31 ary.push(3);
32 ary.push(5);
33 
34 alert(ary.join(","));//输出1,3,5
35 
36 js的数组同时属于索引数组和动态数组,因为本质上它就是一个js对象,体现着js动态语言特性。但js的索引数组并非“连续分配”内存的,因此索引方式并不会带来很高的效率。而java中的数组则是连续分配内存的。
37 
38 Array 对象sort 方法
39 描述: 
40 返回一个元素已经进行了排序的 Array 对象.
41 
42 语法:
43 sort() 默认对 字符传进行排序.
44 arrayobj.sort(sortfunction) 
45 如要求结果是10、16、120这样的数字大小排序,应该使用下面的程序:
46 
47  
48 function(x,y)是具体实现排序功能的函数, 上面的方法是实现升序,如果想实现降序,可以改下返回结果:return parseInt(y)-parseInt(x);
49 当然如果想实现字符串的排序,则可以直接使用a.sort(param);即sort(param) 默认对字符串进行排序,参数为一函数,如果省略该参数,则那么元素将按照 ASCII 字符顺序进行升序排列.当然也可以实现对Long型数据排序,将parseInt改为parseLong即可.
原文地址:https://www.cnblogs.com/musings/p/5619730.html