专业编程基础技术教程

网站首页 > 基础教程 正文

嵌套地狱_解决嵌套业务逻辑_使用Js的对象_避免数组嵌套

ccvgpt 2024-11-05 09:50:09 基础教程 9 ℃

今天做个业务,有同事来问我,说有个业务,比如:

1.有建筑,

嵌套地狱_解决嵌套业务逻辑_使用Js的对象_避免数组嵌套

2.建筑中有几号楼,

3.几号楼中有几单元,

4.几单元中有几层,

5.几层中有几个房间

他要用个5维数组来做...最终,做到最后说,麻烦死了,而且实现不了,具体原因我也没关注..


其实可以这样使用对象来解决这个问题:

//1.定义建筑对象
const build = {
    buildName:"", //建筑的名字比如雅居园小区
    buildNumList:[]   //建筑中包含几号楼,一个楼号是一个楼号对象,这个小区可能包含多个楼号对象
}

//2.定义楼号对象
const buildNum = {
    buildNumStr:"", //比如1,表示1号楼
    buildUnitList:[] //1号楼,可能包含多个单元对象,比如1,2,3单元.
}

//3.定义单元对象
const buildUnit = {
    buildUnitStr:"", //比如1,表示1单元
    buildFloorList:[] //1单元可能包含多个层对象.
}

//4.定义层对象
const buildFloor = {
    buildFloorStr:"", //比如1,表示第1层
    buildHouseList:"" //1层可能有个房间比如3,可能就是101,102,103这3个房间,这里依然可以展开成对象太多了我就不展开写了.
}

//5.然后我们去定义
//6.首先定义一个建筑
build.buildName = "雅居园小区";
build.buildNumList.push(buildNum); //把楼号对象添加到,建筑的,楼号对象集合中

//7.定义一个楼号对象
buildNum.buildNumStr = "1"; //1号楼
buildNum.buildUnitList.push(buildUnit); //把单元对象添加到1号楼对象中去

//8.定义一个单元对象
buildUnit.buildUnitStr = "1"; //1单元
buildUnit.buildFloorList.push(buildFloor); //把层对象添加到1单元中去.

//9.定义一个层对象
buildFloor.buildFloorStr = "1"; //1层
buildFloor.buildHouseList="3"; //1层有3个房间,分别是101,102,103

//10.执行打印结果
console.log(build);

//打印这个建筑就会得到build,雅居园小区,中有1号楼,中有1单元,中有1层,有3个房间.
//这样再去处理就好多了,其实跟java中的对象处理是一样的,只不过,可能对js的语法不是太熟悉
//写起来会手生一些.





Tags:

最近发表
标签列表