标题可能不是最好的,我会非常感谢您的改进!
我的意思实际上是非常简单的问题:
假设我有一个包含School
数组的Student
类,其数组为Notebook
s,我想引用我的所有Notebook
School
public class School{
students: Student[];
}
public class Student{
notebooks: Notebook[]
}
我应该如何参考学校里的所有笔记本?
寻找一种更有效的方法,将所有Notebook
保存在使用for
循环实现的单独数组中。
提前致谢:)
答案 0 :(得分:1)
这完全取决于您想要对输出或每个笔记本电脑做什么?这个函数非常复制到for
循环而没有所有的样板。
school.students.forEach(function(student) {
student.notebooks.forEach(function(notebook) {
doSomethingWithNotebook(notebook);
});
});
// this returns all notebooks for all students and puts it into a single (flat) array
var allNotebooks = school.students.reduce(function(collection, student) {
return collection.concat(sudent.notebooks);
}, []);
// now you can do things like filter out only New notebooks
var newNotebooks = allNotebooks.filter(notebook => notebook.isNew);
答案 1 :(得分:0)
从概念上讲,我的反射是寻找类似n维数组/矩阵的东西,想想
myMatrix[ [school][student][notebook[]] ]
(但语法有效), 然后弄清楚如何拉myMatrix [[任何] [任何] [Notbooks []]]。
这最终会避免使用for循环,但是任何能够让你选择所有3nested元素的东西,我相当肯定,这些元素与嵌套存储的元素一样复杂。
本身并不是一个明确的答案,但如果没有更多关于你需要的细节,我能做的最好的就是提供思路。