【发布时间】:2016-12-09 20:40:04
【问题描述】:
我正在构建一个运行基于代理的模型的房地产市场模拟,并且我想跟踪单个交易,以便我可以使用数据创建图形和图表并进行统计。我正在考虑使用一种我称之为Transaction的对象:
var Transaction = function(house, askingPrice, soldPrice, daysOnMarket) {
this.date = gameDate
this.house = house
this.askingPrice = askingPrice
this.soldPrice = soldPrice
this.daysOnMarket = daysOnMarket
};
每次有事务都会触发创建一个新的Transaction对象实例并被推送到transArray:
transArray.push (new Transaction(house, askingPrice, soldPrice, daysOnMarket));
这是为我陈述的目的而积累和存储这些数据的最佳方式,还是使用二维数组更好,其中 y 是date,x 是house, askingPrice, soldPrice, daysOnMarket?您认为每种方法的优缺点是什么?
【问题讨论】:
-
这取决于你。我个人会使用对象数组,但使用二维数组不一定是错误的。
-
@SpencerWieczorek 您认为每种方法的优缺点是什么?
-
哪个对开发者更方便。
-
@SpencerWieczorek 确实,虽然实际用法相同,但两种方法背后的实际实现各不相同。我认为 OP 可能希望调查内存使用、时间复杂度和各种其他问题的影响。
-
事实上,这将失败,
gameDate未定义 - 在这种情况下我也不会使用全局变量。
标签: javascript arrays oop object multidimensional-array