回答編集履歴

1

別解

2022/10/13 14:28

投稿

poppy1115
poppy1115

スコア12

test CHANGED
@@ -33,3 +33,20 @@
33
33
  - `filteredResutls`配列内のオブジェクトをマップで取り出すとき、Spread構文にしていなかった
34
34
  - `return`の理解が甘かった。特にアロー関数のせいで`return`を忘れがちだった
35
35
 
36
+ ### 超簡単な別解
37
+
38
+ ただ[GoogleのSecret API](https://dev.to/derlin/get-favicons-from-any-website-using-a-hidden-google-api-3p1e)を使うだけで要件は満たせました。くだらないスクレイピングの実装で数日失ってしまいましたが、とても勉強になりました。`async/await`が分かると言えるようになったと思います。
39
+ ```JavaScript
40
+ `https://www.google.com/s2/favicons?domain=${domain}&sz=${size}`
41
+ ```
42
+
43
+ ```TypeScript
44
+ const finalResults = () => {
45
+ return filteredResults.map(async (result: any) => {
46
+ const iconUrl = `https://www.google.com/s2/favicons?domain=${result.domain}&sz=${256}`
47
+ console.log('URL: ' + iconUrl)
48
+ if (iconUrl === undefined) return { ...result, icon: '' }
49
+ return { ...result, icon: iconUrl }
50
+ })
51
+ }
52
+ ```