在DB的数据结构中循环两次是个坏主意,否则怎么办



这可能是一个更一般的编程问题,也是我一直在思考的问题。

我只有1年的经验,最近开始读《干净的代码》一书,偶然发现了大0符号。

这两件事基本上说,你永远不应该循环两次(循环中的循环(,因为性能很糟糕(如果我没记错的话,O(2n((。

我的问题是:

如果我有这个结构,它是我的应用程序上所有订单的数组,并且在这个数组中,有一个对象,这个对象包含另一个数组,它是该顺序中的单个产品。

[
orderOne: {
products: [
{name: "Life advice", price: 399},
{name: "Test", price: 429},
],
userInformation: {
name: "John",
age: 21
}
}
]

现在,为了在我的视图中显示所有订单,我需要首先循环整个订单,然后在循环内部,循环内部的products数组,这就创建了这个双循环。

如何避免这种情况?不可避免的是,数组中会有一个用于数据存储的数组,这总是意味着一个双循环。

我正在努力更好地理解构建事物的方法,而不是从头开始,只写双循环。

非常感谢您抽出时间!

保持安全!

这实际上取决于你想要实现什么
如果您只是显示订单,那么每个订单是否需要同时显示每个项目
选择订单后,显示订单中的项目是否更合乎逻辑
在考虑如何操作数据时,最好考虑数据的范围。这样,您只在用户需要访问数据时处理数据,这将减少加载/刷新时间。

有时会需要嵌套循环,但在许多情况下,似乎需要嵌套循环——实际上,您可以将数据的使用推迟到更相关的日期。

您还可以有一个单独的产品数组,每个产品都有一个ID,然后订单对象只有一个产品ID和数量的字典。然后可以将其解析为一个完整的列表,以便快速显示。

最新更新