欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

三种数据结构 博客分类: 基础学习 哈希三种数据结构 

程序员文章站 2024-03-18 09:33:40
...

首先看看这三种数据结构:

第一种,只存一个数组:

activities = [  
    {  
        name: "first activity",  
        sign_ups:[],  
        bids:[]  
    },  
    {  
        name: "second activity",  
        sign_ups: [  
            {  
                name:"仝键",  
                phone:"13600000000"  
            }  
        ],  
        bids:[  
            {  
                name:"竞价1",  
                biddings : [  
                    {  
                        name: "仝键",  
                        phone:"13600000000",  
                        price: "12"  
                    }  
                ]  
            }  
        ]  
    }  
]  

 第二种,利用哈希存储数据:

activities = {  
    "0":{  
        name: "first activity",  
        sign_ups:[],  
        bids:[],  
        biddings:{}  
    },  
    "1": {  
        name: "second activity",  
        sign_ups: [  
            {  
                name:"仝键",  
                phone:"13600000000"  
            }  
        ],  
        bids:["竞价1","竞价2"],  
        biddings:{  
            "竞价1":[  
                {  
                    phone:"13600000000",  
                    price: "12"  
                }  
            ],  
            "竞价2": [  
                {  
                    phone:"13600000000",  
                    price: "10"  
                }  
            ]  
        }  
    }  
}  

 第三种,分成几个数组,层次少了:

activities = [  
    {  
        id:"0",  
        name: "first activity"          
    },  
    {  
        id:"1",  
        name: "second activity"  
    }  
];  
  
sign_ups = [  
    {  
        name:"仝键",  
        phone:"13600000000",  
        activity_id:"0"  
    },{  
        name:"仝",  
        phone:"13600000000",  
        activity_id:"1"  
    }  
]  
bids = [  
    {  
        name: "竞价1",  
        activity_id:"0",  
        biddings:[  
            {  
                phone:"13600000000",  
                price: "9"  
            }  
        ]  
    }  
]  

 对于这三种结构,第一种只存一个数组,层次嵌套比较深,在存取数据时特别麻烦,要根据条件一层一层的遍历查找,比较耗内存,影响运行速度,但在信息匹配上,第一种还是挺方便的,不要太多的判断匹配。第二种是哈希的存储方式,与第一种相比,多出一个竞价报名的数组,在存取上优于第一种,稍微简单了。第三种数据结构,只有一层或两层,结构比较清晰,不需要繁琐的遍历查找,存取上很方便,但是在信息的匹配上会有一些麻烦,当时写时,在匹配信息上比较让我头疼。

 

关于这三种存储的方式,我比较喜欢第二种,利用哈希来存储,下面就来介绍一下哈希是如何存取的。

var a = {};    //定义一个变量为哈希
a.name = "moneyinto";   //第一种存储方式
a["age"] = "23";     //第二种存储方式
console.log(a);     
//object {name:"moneyinto",age:"23"}

var b = a.name;      //b的值为moenyinto

a.age = "22";      //这样就直接更改了age属性对应的值了

 哈希存的东西很多,不一定是字符串类型的或数值,它还可以存函数方法等,个人感觉不错。