Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.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
在React Native中重新映射Firebase JSON数据_Json_Reactjs_Firebase_React Native - Fatal编程技术网

在React Native中重新映射Firebase JSON数据

在React Native中重新映射Firebase JSON数据,json,reactjs,firebase,react-native,Json,Reactjs,Firebase,React Native,编辑:在了解了更多关于我最初的问题后,我不得不改变这个问题 这些数据如下所示: { "-fdsdsghdfsgsfdfdgfd" : { "latitude" : -37.830331, "longitude" : 144.9923426, "found" : false }, "-dsdgfrdhfdgfdgdgfd" : { "latitude" : -37.830331, "longitude" : 144.9923426, "f

编辑:在了解了更多关于我最初的问题后,我不得不改变这个问题

这些数据如下所示:

{
  "-fdsdsghdfsgsfdfdgfd" : {
    "latitude" : -37.830331,
    "longitude" : 144.9923426,
    "found" : false
  },
  "-dsdgfrdhfdgfdgdgfd" : {
    "latitude" : -37.830331,
    "longitude" : 144.9923426,
    "found" : false
  },
  "-Lv3cEcoiJ1wtajIzPyy" : {
    "latitude" : -37.830331,
    "longitude" : 144.9923426,
    "found" : false
  }
}
像这样进口的
从“../data/jobdata.json”导入航路点

是否可以轻松地重新映射数据以遵循此表单

const waypoint = [
    {latitude: -37.830331, longitude: 144.9923426, found: false },
    {latitude: -37.830331, longitude: 144.9923426, found: false },
    {latitude: -37.830331, longitude: 144.9923426, found: false }
];
我只是不知道如何解决这个问题

我不想从Firebase获取数据,让我们假设它是一个类似于上面的JSON文件


谢谢

假设每个子对象都有唯一的对象键,下面是解决方案。现在,您可以遍历
Object.values(数据)

let数据={
“第一”:{
“纬度”:-37.830331,
“经度”:144.9923426,
“发现”:错误
},
“第二”:{
“纬度”:-37.830331,
“经度”:144.9923426,
“发现”:错误
},
“第三”:{
“纬度”:-37.830331,
“经度”:144.9923426,
“发现”:错误
}
}

console.log(Object.values(data))假设每个子对象都有唯一的对象键,下面是解决方案。现在,您可以遍历
Object.values(数据)

let数据={
“第一”:{
“纬度”:-37.830331,
“经度”:144.9923426,
“发现”:错误
},
“第二”:{
“纬度”:-37.830331,
“经度”:144.9923426,
“发现”:错误
},
“第三”:{
“纬度”:-37.830331,
“经度”:144.9923426,
“发现”:错误
}
}

console.log(Object.values(data))如果您有重复的键,则
对象。值
将丢弃重复的键

let数据={
“-Lv3cEcoiJ1wtajIzPyy”:{
“纬度”:-37.830331,
“经度”:144.9923426,
“发现”:错误
},
“-Lv3cEcoiJ1wtajIzPyy”:{
“纬度”:-37.830331,
“经度”:144.9923426,
“发现”:错误
},
“-Lv3cEcoiJ1wtajIzPyy”:{
“纬度”:-37.830331,
“经度”:144.9923426,
“发现”:错误
}
}
让输出=对象值(数据);

控制台日志(输出)如果您有重复的键,则
对象。值
将丢弃重复的键

let数据={
“-Lv3cEcoiJ1wtajIzPyy”:{
“纬度”:-37.830331,
“经度”:144.9923426,
“发现”:错误
},
“-Lv3cEcoiJ1wtajIzPyy”:{
“纬度”:-37.830331,
“经度”:144.9923426,
“发现”:错误
},
“-Lv3cEcoiJ1wtajIzPyy”:{
“纬度”:-37.830331,
“经度”:144.9923426,
“发现”:错误
}
}
让输出=对象值(数据);

控制台日志(输出)由于您是从firebase获取它,我认为密钥应该是唯一的。所以你可以用下面的方法来实现数据

你可以用

const obj={
“-Lv3cEcoiJ1wtajIzPyy”:{
“纬度”:-37.830331,
“经度”:144.9923426,
“发现”:错误
}
}
const transformed=对象值(obj)

console.log(已转换)
因为您是从firebase获取它的,所以我认为密钥应该是唯一的。所以你可以用下面的方法来实现数据

你可以用

const obj={
“-Lv3cEcoiJ1wtajIzPyy”:{
“纬度”:-37.830331,
“经度”:144.9923426,
“发现”:错误
}
}
const transformed=对象值(obj)

console.log(已转换)
尝试
Object.values(data).map(item=>)
@ThomasByy您希望迭代所有对象或单个对象,因为您的键相同,这就是它避免所有对象的原因,我相信你的信息可能会有所帮助,但我遇到了一个更大的问题,那就是要求数据看起来略有不同。我用我现在意识到我需要的东西编辑了这个问题。抱歉,感谢您的困惑,因此您希望将“-Lv3cEcoiJ1wtajIzPyy”:{“纬度”:-37.830331,“经度”:144.9923426,“发现”:false}转换为const航路点=[{纬度:-37.827047,经度:144.991987,发现:false},{纬度:-37.82828288,经度:144.991708,发现:false},{纬度:-37.826503,经度:144.995964,发现:假},{纬度:-37.826835,经度:144.992808,发现:假},{纬度:-37.825441,经度:144.991112,发现:假}];对吗?@ThomasByy你能再给我解释一下吗?为什么有重复的键,所有的对象都有相同的值,那么为什么要在数组中重复相同的对象。试试
object.values(data.map)(item=>)
@ThomasByy您想迭代所有对象或单个对象,因为您的键是相同的,这就是它避免所有对象的原因抱歉,我相信您的信息可能会有所帮助,但我遇到了一个更大的问题,只需要数据看起来略有不同。我已经用我现在意识到我需要的内容编辑了这个问题。抱歉thanksim很困惑,所以您想将“-Lv3cEcoiJ1wtajIzPyy”:{“纬度”:-37.830331,“经度”:144.9923426,“发现”:false}转换为const航路点=[{纬度:-37.827047,经度:144.991987,发现:false},{纬度:-37.82828288,经度:144.991708,发现:false},{纬度:-37.826503,经度:144.995964,发现:假},{纬度:-37.826835,经度:144.992808,发现:假},{纬度:-37.825441,经度:144.991112,发现:假}];对吗?@ThomasByy你能再给我解释一下吗?为什么有重复的键,所有的对象都有相同的值,那么你为什么要在数组中重复相同的对象。你能解释一下如何在新数组中得到最后一个吗?
object.values(waypoints)[object.values(waypoints).length]
是我的愚蠢尝试。你能解释一下如何获得新数组中的最后一个吗?
Object.values(waypoints)[Object.values(waypoints.length]
是我的愚蠢尝试。