回答編集履歴
1
別解
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
|
+
```
|