javascript数组的使用(索引数组和关联数组)

数组的定义:

方法1.

var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"

方法2.
定义和初始化一起:

var mycars = new Array("Saab","Volvo","BMW")

或者另一种写法:

var mycars = ["Saab","Volvo","BMW"];

javascript二维数组:

javascript用一维数组来模拟二维数组:
方法1.

var  arr = new Array(['a','b','c'],['d','e','f']);

arr[0]返回第一个一维数组,arr[0][0]返回第一个一维数组的第一个元素’a’,下同。

方法2.

arr=new   Array();   
for(i=0;i<100;i++) {   
     arr[i]=new   Array(...);   
}

方法3.

var  arr=new   Array(  
  new   Array(),  
  new   Array(),  
  new   Array()  
  );

 

数组长度:
javascript的数组不需要设定长度,会自己进行扩展,数组名.length返回元素个数

常用函数:
数组常用函数
toString():把数组转换成一个字符串
toLocaleString():把数组转换成一个字符串
join():把数组转换成一个用符号连接的字符串
shift():将数组头部的一个元素移出
unshift():在数组的头部插入一个元素
pop():从数组尾部删除一个元素
push():把一个元素添加到数组的尾部
concat():给数组添加元素
slice():返回数组的部分
reverse():将数组反向排序
sort():对数组进行排序操作
splice():插入、删除或者替换一个数组元素

javascript 数组排序:

arrayobj.sort(sortfunction)

参数

arrayObj
数组
sortFunction
可选项。比较函数。如果这个参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。
比较函数必须返回下列值之一:

* 负值,如果所传递的第一个参数比第二个参数小。
* 零,如果两个参数相等。
* 正值,如果第一个参数比第二个参数大

举例:

var testArray=[1,5,2,3,6,4] 
testArray.sort(function(a,b){return a-b;}); 
alert(testArray);

参考: http://bjtime.cn/info/view.asp?id=177

一.关联数组

1. 关联数组定义

// 定义空数组 
var arr = [];
//or
var arr = {};

2. 关联数组赋值

//在定义时同时赋值
var arr = {"one":"valOne","two":"valTwo"};
// 已定义的关联数组赋值
arr["one"] = "valOne";
arr.one = "valOne";

3. 向关联数组添加键值

// 添加一个新键three ,键值为valThree 
arr["three"] = "valThree";
arr.three = "valThree";

4. 删除关联数组已有键值

// 删除一个键three,同时该键值对应的valThree也即被删除
delete arr["three"];

5. 关联数组对应键值的获取

//获取值val1
var val = arr["one"];
//or
var val = arr.one;

6. 遍历Hash关联数组

// 遍历整个hash 数组 
for (key in arr) {
    val = arr[key];
}

二. 关于关联数组的用法分析

1. 关联数组&对象
大家会发现JavaScript中关联数组和对象的使用方法有些是一样的,没错,JavaScript中数组是对象的子集(关于更多有关JavaScript中对象的介绍请参考后面的参考文章)。
既然关联数组也是对象,那么关于关联数组的相关使用方法就不难理解了,
如:

var arr = {"one":"valOne","two":"valTwo"};
arr.three = "valThree";

参考:

1. js 关联数组与普通数组 http://wyllife.blog.163.com/blog/static/4116390120115210038676/
2. JS “关联数组” http://cc.ecjtu.net/posts/js-associative-array
3. Javascript 面向对象编程 http://coolshell.cn/articles/6441.html
4. 再谈javascript面向对象编程 http://coolshell.cn/articles/6668.html

 

更多参考:

javascript 中面向对象实现 如何继承

javascript 中的面向对象实现 如何封装

JavaScript使用PHP函数 PHP extensions in JavaScript

PHP: 获取二维或多维数组中key键(特定键)值的集合

 

本文: javascript数组的使用(索引数组和关联数组)

 

Leave a Reply