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':"xy"+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对象构成一个数组。

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

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

目录
相关文章
|
4天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
23 3
|
4天前
|
存储 JavaScript 索引
JS中数组的相关方法介绍
JS中数组的相关方法介绍
|
4天前
|
JavaScript Java
JS有趣的灵魂 清空数组
JS有趣的灵魂 清空数组
|
4天前
|
JavaScript
通过使用online表单的获取使用,了解vue.js数组的常用操作
通过使用online表单的获取使用,了解vue.js数组的常用操作
|
4天前
|
存储 JavaScript 前端开发
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
9 0
|
4天前
|
JavaScript 前端开发
js关于数组的方法
js关于数组的方法
11 0
|
4天前
|
JavaScript 前端开发
js怎么清空数组?
js怎么清空数组?
14 0
|
4天前
|
存储 JavaScript 前端开发
js处理数组的方法
js处理数组的方法
14 2
|
4天前
|
JavaScript 前端开发 索引
JavaScript 数组的索引方法数组转换为字符串方法
JavaScript 数组的索引方法数组转换为字符串方法
|
4天前
|
JavaScript 前端开发
JavaScript 数组的添加删除和排序
JavaScript 数组的添加删除和排序