我正在构建运行基于代理的模型的房地产市场模拟,我想跟踪单个交易,以便我可以创建图表和图表以及数据统计。我想通过使用一种我称之为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
?您认为每种方法的优点和缺点是什么?
答案 0 :(得分:2)
你可以使用一个对象数组,这样我就可以使用熟悉的动词函数来操作它们了。喜欢查找。有可能更多"纯" Javascript方法可以做到这一点,但我也测试了var result = (from f
in Directory.GetFiles(PATH, "*.*", SearchOption.AllDirectories)
where f.Contains(CONFIG_NAME)
select JsonConvert.DeserializeObject<Config>(File.ReadAllText(f)) ).ToList();
的速度,这种形式也很不错。
这是从另一个答案中复制的,其中包含一个更复杂的示例:Binding an array of objects to their specific form fields for updating/deleting
注意那个例如lookup
函数 - 所以你可以很容易地在你的对象数组上支持它 - 如果你有多个对象数组,你可以重复使用每个对象数组。< / p>
hasDuplicates