js多维对象数组的思考

我们先来设想这样一个场景:

一个学校下面有很多班级,一个班级下面有很多学生。

学校和班级——1:n

班级和学生——1:n

为了简便起见,我们就不给三个实体分配过多属性了。

学校有如下属性:名称sname,位置address。

班级有如下属性:名称cname,年级grade。

学生有如下属性:姓名stuname,学号stunum。

那么我们用js数组怎么表达这样一种关系?

// 定义学校对象

var school = {

sname:"一所大学",

address:"一个地方",

classes:[ ]

};

// 给学校数组添加班级

school.classes.push({

'cname':"一班",

'grade':"一年级"

students:[ ]

});

school.classes.push({

'cname':"二班",

'grade':"一年级"

students:[ ]

});

// 给班级数组添加学生

for(var m=0;m<school.classes.length;m++)

{

school.classes[m].students.push({

'stuname':"徐越"+m,

'snum':m

});

}

// 取出学生数组

for(var m=0;m<school.classes.length;m++)

{

if(school.classes[m].cname=="一班")

{.......................................}

}

// 取出学生数组

for(var m=0;m<school.classes.length;m++)

{

for(var n =0;n<school.classes[m].students;n++)

{

if(school.classes[m].students[n].snum==1)

{.........................................................}

}

}

当然,真正赋值的时候,可以通过$.getJSON,从数据库中取出,然后再赋值。

从这个例子中我们可以学些什么呢?

1 { }表示一个json对象,是一对键值对。[ ]表示一个数组,可以由多个json对象构成一个数组。

2js数组相当灵活。作为一种弱类型的语言,有些东西可以边申明边用。如上述的那些属性。

3数组由多个对象构成,构成对象的也可以是数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值