Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数组未填充/map()右反应_Javascript_Arrays_Reactjs_Leaflet - Fatal编程技术网

Javascript 数组未填充/map()右反应

Javascript 数组未填充/map()右反应,javascript,arrays,reactjs,leaflet,Javascript,Arrays,Reactjs,Leaflet,我试图映射一个数组,但我认为它填充错误,因为它为我添加的内容提供了undefined,但由于某些原因,它们被显示为undefined 如果您查看顶部,它在顶部是一个单独的数组,如果我尝试使用.map() 此图片来自以下控制台日志: {RuuviTag.map((tag) => ( <div key={tag.MAC}> {console.log(tag.MAC),

我试图映射一个数组,但我认为它填充错误,因为它为我添加的内容提供了
undefined
,但由于某些原因,它们被显示为
undefined

如果您查看顶部,它在顶部是一个单独的数组,如果我尝试使用
.map()

此图片来自以下控制台日志:

           {RuuviTag.map((tag) => (



              <div key={tag.MAC}>
                {console.log(tag.MAC),
                console.log(tag)


                }

                <Marker position={[tag.Latitude.replace(/,/g, '.'), tag.Longitude.replace(/,/g, '.')]} icon={new Icon({
                   iconUrl: tag.colorIcon,
                    iconSize: [25, 41],
                     iconAnchor: [12, 41] })} >
                  <Popup>
                    <h1>{tag.MAC}
                       </h1>
                       <h1>
                       </h1>
                  </Popup>
                </Marker>





              </div>
            ))}\

但是当我试图从解密的数据映射颜色图标或其他东西时,它会显示为
未定义


有人知道如何解决这个问题吗?我在任何地方都找不到此问题

您应该在完成异步函数后推送项

像这样

let item = doc.data()
Promise.all([
  PostRawData(doc.data().RawData),
  checkBoundaries(doc.data().RawData),
]).then(function (result) {
  item.decryptedData = result[0].data;
  item.colorIcon = result[1]
  items.push(item)
})

您使用的是promise语法
。然后
,但您将其视为同步。如果你想把它当作同步代码来对待,你需要等待这些东西。看看异步代码在事件循环中是如何处理的,这是否回答了您的问题?我在=>tokenOh上遇到了一个解析错误,我将在不使用arrow函数表达式的情况下进行更新。
let item = doc.data()
Promise.all([
  PostRawData(doc.data().RawData),
  checkBoundaries(doc.data().RawData),
]).then(function (result) {
  item.decryptedData = result[0].data;
  item.colorIcon = result[1]
  items.push(item)
})