gpt4 book ai didi

javascript - Angular : object structure best practice

转载 作者:行者123 更新时间:2023-11-29 15:37:03 27 4
gpt4 key购买 nike

我在 Angular 工作,目前专注于过滤嵌套对象。这是我的对象的结构:

$scope.subjectBin = {
"Faculty of Engineering": {
"ECE": [{<course-object>},{<course-object>}],
"CHEM: [{<course-object>}]
},
"Faculty of Science": {
"BIOL: [{<course-object>},...],
...
},
...
}

当我过滤此对象、构建新功能并在分层 Accordion 中呈现时,我想我应该更改此对象的设计。

有人建议将对象更改为以下内容:

$scope.subjectBin = [{
faculty: "Faculty of Engineering",
subjects: [{
subjectName: "ECE",
courses: [{<course-object>},{<course-object>}]
},
...
]
}, {
faculty: "Faculty of Science",
subjects: [{
subjectBin: "CMPUT",
courses: [{<course-object>},...]
},
...
]
}]

有人告诉我这种布局更好,因为:“它不使用对象作为键映射,而是遵循一种模式”。

我同意这样更好,但总体上希望对对象布局进行一些说明。

布置嵌套对象最佳做法是什么?具有固定键名的基于数组的对象是否更可取?

最佳答案

第二个例子要好得多。

在第一个示例中,您有一个包含不同字符串键(未硬编码)的对象列表。这里的问题是,这些键是字符串,需要转义以删除标签、逗号或其他有问题的无效键字符串。

第二个示例要好得多,因为您有一个包含固定硬编码字符串键的对象数组。当您定义键时,您将始终知道该对象具有哪些属性,以及每个属性具有哪些内容。

您应该始终努力编写这样的对象:

test = {
property1 : {},
property2 : [],
property3 : value
}

其中property1、property2、property3是你硬编码的,代表它们的具体内容。

关于javascript - Angular : object structure best practice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26953495/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com