javascript - 无法获取数组的长度并且 map() 不适用于该数组

标签 javascript reactjs

我定义了一个如下所示的数组:

const photos = [];

然后向其中添加两个项目,如下所示:

docs.forEach(item =>
      photos.push({name: item.data().name, url: item.data().url})));

在执行 console.log(photos) 时,我可以看到它包含两项:

[]
0: {name: "electronics.jpg", url: "https://firebasestorage.googleapis.com/v0/b/freebi…=media&token=c670308a-91b3-4125-ae93-abb2d6409ae2"}
1: {name: "clothing.jpg", url: "https://firebasestorage.googleapis.com/v0/b/freebi…=media&token=b757702e-6a82-4459-beae-11de53830fae"}
length: 2
__proto__: Array(0)

但是当我尝试获取 photos.length 时,它返回 0。

此外,当我尝试通过 map() 函数遍历照片数组时,我看不到该项目被迭代了。代码如下:

photos.map(photo => (
                <Image src={photo.url} />
)

有人可以告诉我哪里可能出了问题吗?谢谢!

最佳答案

您可以避免使用 forEach 并在一条语句中执行此操作

const photos = docs.map(item => {name: item.data().name, url: item.data().url})

这将至少创建 1 个照片变量。试试这个,登录并让我们知道你接下来会得到什么

关于javascript - 无法获取数组的长度并且 map() 不适用于该数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57469156/

相关文章:

javascript - 当系列没有相同的时间值时,如何在工具提示中显示所有系列

javascript - 多个饼图未加载

javascript - CM 表单,jQuery + $(this)。适用于页面上的所有类

javascript - 即使我已允许 https ://example. com/,来自源 'https://example.com' 的访问已被阻止

javascript - 为什么 useReducer 的调度会导致重新渲染?

javascript - React 表格​​搜索功能

javascript - 多语言网站布局调整

javascript - 如何从 Mongoose 中的数组中删除嵌套对象

javascript - 流类型不适用于匿名函数内的外部作用域变量

javascript - 使用转义键关闭 react 引导模式