gpt4 book ai didi

Javascript映射嵌套数组

转载 作者:行者123 更新时间:2023-11-30 19:17:07 24 4
gpt4 key购买 nike

我有一个嵌套的对象数组,例如:

const data = {
"rates": {
"2019-09-04": {
"USD": 0.1275393858,
},
"2019-09-05": {
"USD": 0.1275638511,
}, "2019-09-06": {
...
}

我想要的只是让数组变平,然后返回结果:

"rates": {
1:{
"date": "2019-09-04"
"rate": "0.1275393858",
"currency":"USD"
},
} 2:{ ...

我试过 Object.key 但我无法破坏“rates”。

这是我试过的。

const newData = {
rates: Object.keys(data.rates).map((date, idx) => {

return {
date,
rate: data.rates

}
})
};

我是否必须“双重映射”数据才能获得我想要的?

最佳答案

有很多方法(一如既往),例如使用 mapreduce 或者简单的方法是遍历 rates 条目并用你想要的结构重新创建另一个对象。

它应该看起来像这样:

const obj = {
"rates": {
"2019-09-04": {
"USD": 0.1275393858,
},
"2019-09-05": {
"USD": 0.1275638511,
}
}
}


const transformedObj = {rates: {}}
let i = 0
for (let [key, value] of Object.entries(obj.rates)) {
transformedObj.rates[i++] = {
date: key,
rate: Object.values(value)[0],
currency: Object.keys(value)[0]
}
}

console.log(transformedObj)

更新:

如果你不想使用索引,那么这样做:

const obj = {
"rates": {
"2019-09-04": {
"USD": 0.1275393858,
},
"2019-09-05": {
"USD": 0.1275638511,
}
}
}


const transformedObj = {rates: {}}

for (let [key, value] of Object.entries(obj.rates)) {
transformedObj.rates[key] = {
date: key,
rate: Object.values(value)[0],
currency: Object.keys(value)[0]
}
}

console.log(transformedObj)

关于Javascript映射嵌套数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57874666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com