teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2019/10/29 14:02

投稿

winterboum
winterboum

スコア23653

answer CHANGED
@@ -7,4 +7,24 @@
7
7
  それでやりたいことは合って居ますか?
8
8
 
9
9
  余談ですが
10
- dataは複数形です。単数形は datum。ので、datasはちょっと違和感あります。
10
+ dataは複数形です。単数形は datum。ので、datasはちょっと違和感あります。
11
+ ####################
12
+ で、やりたいことが合っているとして、
13
+ DBを引くのはmaisumakunさんの方法で行って、そのあとですが、単純には
14
+ ```
15
+ arys = accounts.map do |acct|
16
+ a_name= acct&.address
17
+ {quota: infos.find{|info| info.name == a_name}&.quota&.hoge}
18
+ end
19
+ ```
20
+ ですが、これですと accounts.map で1万回、infos.find で平均5000回、計5千万回のloopになります。
21
+ 遅いかも。
22
+ 早くなるかどうか未確認ですが
23
+ info_by_name = infos.map{|info| [info.name,info&.quota&.hoge]}.to_h
24
+ としておいて
25
+ ```
26
+ arys = accounts.map do |acct|
27
+ {quota: info_by_name[acct&.address]}
28
+ end
29
+ ```
30
+ とすると早いかも。