[英]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.