簡體   English   中英

數組長度為零但數組不為空

[英]Array length is zero but Array is not empty

當我試圖遍歷一個數組,獲取它的長度或訪問索引時,我收到 Error TypeError: Cannot read property 'map' of undefined

數組不是空的,當我使用console.log() ,我得到了它。

0: {user_id: 11, …}
length: 1
__proto__: Array(0)

我看到proto : Array(0) 並且我假設這意味着它是一個長度為 0 的數組,但是我如何使它的長度不為零以便我可以遍歷它?

參考代碼:

useEffect(() => {
     blog.authors.map(data => {
         console.log(data)
      })
}, [blog])

我也試過了。 它有效,但我立即收到了類似的錯誤。

useEffect(() => {
        (async() => {
            await blog.authors.map(data => {
                console.log(data)
            })
        })()
}, [blog])

簡單檢查blog.authors是否未定義解決了它。

不,數組索引是0 based

var arr = ['a', 'b'];
console.log(arr.length); // => 2
console.log(arr[0]);     // => a

因此,與其對有效的方法做出令人困惑的斷言,而不是在不提供代碼的情況下提供其他代碼,您能否只看到結果:

useEffect(() => {
     console.log({blog});
     console.log({authors: blog.authors });
     blog.authors.map(data => {
         console.log(data)
      })
}, [blog])

因為我懷疑blog隨着時間的推移而改變,有一些作者和一些作者未定義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM