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];

posted on 2011-08-11 16:34  小宝哥哥  阅读(155)  评论(0编辑  收藏  举报

导航

Tasup