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

質問編集履歴

1

コードを追加

2020/09/28 12:12

投稿

Neemsk
Neemsk

スコア15

title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,26 @@
2
2
  JavaScriptの配列からインデックスを指定して値を取得しようとすると、`undefined` が表示されてしまいます。
3
3
 
4
4
  ## 状況
5
- 下記画像の通り、配列に0番目の要素が入っているにも関わらず、 `array[0]` とすると `undefined` となっていまい。値を取得できません。
5
+ 下記画像の通り、配列に0番目の要素が入っているにも関わらず、 `array[0]` とすると `undefined` となっていまい。値を取得できません。
6
- 0番目の要素の取得方法を教えていただけますと幸いです。
6
+ ![イメージ説明](1f61df77b7d4076a3125b4769a2ef72d.png)
7
7
 
8
+ 具体的なコードとしては、`userIDs` という配列から、firestoreを元にuserのデータを一つずつ取得し、`detailUserData`配列にpushします。その後、stateにsetし、0番目のインデックスを確認するとundefinedとなってしまいます。
9
+
10
+ ```Javascript
11
+ const detailUserData: any[] = [];
12
+ userIDs.forEach(userID => {
8
- ![イメージ説明](1f61df77b7d4076a3125b4769a2ef72d.png)
13
+ const user = db.collection(path).doc(userID)
14
+ user.get().then(v => {
15
+ detailUserData.push(v.data())
16
+ })
17
+ })
18
+ this.setState({
19
+ users: detailUserData
20
+ })
21
+
22
+ console.log(this.state.users) // 0番目にデータは入っている
23
+ console.log(this.state.users[0]) // undefined
24
+
25
+ ```
26
+
27
+ 0番目の要素の取得方法を教えていただけますと幸いです。