首先看看这三种数据结构:
第一种,只存一个数组:
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属性对应的值了
哈希存的东西很多,不一定是字符串类型的或数值,它还可以存函数方法等,个人感觉不错。

5533

被折叠的 条评论
为什么被折叠?



