如何在React-Native中转换此对象?

时间:2019-03-03 17:21:00

标签: javascript reactjs react-native

我有一个像这样的对象

{ -L1Rm6VbfLLyFJ3Qi6K: {city: "Tokyo", date: "26-08-2004" } }

并且我想像这样变换这个对象:

{ id:"-L1Rm6VbfLLyFJ3Qi6K", city: "Tokyo", date: "26-08-2004" }

我该怎么做?谢谢...

4 个答案:

答案 0 :(得分:1)

您可以采用所需格式的Object.entriesmap

let obj = { '-L1Rm6VbfLLyFJ3Qi6K': {city: "Tokyo", date: "26-08-2004" } }

let op = Object.entries(obj).map(([key,value]) => ({
  id: key,
  ...value,
}))

console.log(op)

答案 1 :(得分:1)

如果只有一个对象/索引,您可以通过这种方式访问​​。

let obj = { '-L1Rm6VbfLLyFJ3Qi6K': {city: "Tokyo", date: "26-08-2004" } }

let op = Object.entries(obj).map(([key,value]) => ({
  id: key,
  ...value,
}))

console.log(op[0])

答案 2 :(得分:0)

如果对象将成为一个键值,则使用该键值,否则,如@Code Maniac建议,应使用map或forEach

const obj = { '-L1Rm6VbfLLyFJ3Qi6K': {city: "Tokyo", date: "26-08-2004" } }

const newobj = {
   id: Object.keys(obj)[0],
   ...obj[Object.keys(obj)]
}

console.log(newobj)

答案 3 :(得分:0)

也许您看起来像这样?

const obj1 = { "-L1Rm6VbfLLyFJ3Qi6K": {city: "Tokyo", date: "26-08-2004" } }

const obj2 = {}

for (const id in obj1) {
  Object.assign(obj2, { id, ...obj1[id] })
}

console.log(obj2);

还是以此方式重用旧对象?

const obj1 = { "-L1Rm6VbfLLyFJ3Qi6K": {city: "Tokyo", date: "26-08-2004" } }

for (const id in obj1) {
   Object.assign(obj1, { id, ...obj1[id] })
   delete obj1[id];
}

console.log(obj1);