回答編集履歴
1
追記
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
|
+
とすると早いかも。
|