js-精华-数组
关联数组
标准javascript 是内含支持hash关联数组
[ ] 和 {} 中的值是以 , (逗号)分隔
key值是字符串可以不加引号, 但访问的时候需要加
定义空数组
//Hash关联数组定义
myhash = { }
//[]定义 一唯数组
myArray = [];
//用Array 定义
myArray = new Array();
直接定义数组
//关联数组 带key
myhash = {'key1':'val1', 'key2':'val2' };
//多唯
myArray = {
'key1' : 'val1',
'key2' : {
'key2-1' : 'val2-1',
'key2-2' : 'val2-2'
},
3 : 3
};
//数字作索引 访问 alert(childArr['父选项值1'][0]['val']); output:选项值1
//key值可以不加引号
childArr['父选项值1'] = [
{txt:"选项名1", val:"选项值1"},
{txt:"选项名2", val:"选项值2"},
{txt:"选项名3", val:"选项值3"},
{txt:"选项名n", val:"选项值n"}
]
//数字作索引 0开始
myArray = [1,2,3,'val4'];
用Array 定义数组
myhash = new Array();
myhash['key1'] = 'val1';
myhash['key2'] = 'val2';
添加一个新键 newkey, 键值为 newval
myhash['newkey'] = 'newval';
删除Hash关联数组已有键值
delete myhash['newkey'];
遍历Hash关联数组
for (key in myhash) {
value = myhash[key];
}
//递归遍历数组
function dumpArray(myArray)
{
for(key in myArray) {
value = myArray[key];
if (typeof value == 'object') {
dumpArray(value);
} else {
document.write(key+':'+value+'<br/>');
}
}
}
获取数组所有key
function array_keys(hash) {
keys = [];
for (key in hash) {
keys.push(key);
}
return keys;
}
随机取数组的一个值
var arrName = ["one","two","three","four"];
arrName[Math.ceil(Math.random()*arrName.length)-1];