gpt4 book ai didi

javascript - 将新的键名从旧数组分配给数组

转载 作者:行者123 更新时间:2023-11-29 20:54:09 24 4
gpt4 key购买 nike

我想将货币数据转换为新数组以用于我的货币转换。但我需要一种不同的数组。我想创建一个如下所示的数组:

json 文件中的数组如下所示:

{
"eur":{
"code":"EUR",
"alphaCode":"EUR",
"numericCode":"978",
"name":"Euro",
"rate":0.83563518721183,
"date":"Mon, 7 May 2018 00:00:01 GMT"
},
"gbp":{
"code":"GBP",
"alphaCode":"GBP",
"numericCode":"826",
"name":"U.K. Pound Sterling",
"rate":0.73757713865121,
"date":"Mon, 7 May 2018 00:00:01 GMT"
},
etc...
}

我想让它看起来像:

   {
rates: {
AED: 3.672538,
AFN: 66.809999,
ALL: 125.716501,
AMD: 484.902502,
ANG: 1.788575,
AOA: 135.295998,
ARS: 9.750101,
AUD: 1.390866,
/* ... */
}
}

我使用的代码:

$.getJSON(
'http://www.floatrates.com/daily/usd.json',
function (data) {
var newRates = [];
Object.getOwnPropertyNames(data).forEach(
function (val, idx, array) {
var newObj = Object.assign(
{ val },
{ '': data[val].rate });
newRates.push(newObj);
}
);
console.log(newRates);
)

最佳答案

您可以通过映射单个对象并将其分配给单个对象来构建对象。

$.getJSON(
'http://www.floatrates.com/daily/usd.json',
function(data) {
var result = Object.assign(
...Object
.entries(data)
.map(([key, { rate }]) => ({ [key.toUpperCase()]: rate }))
);

console.log(result);
}
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于javascript - 将新的键名从旧数组分配给数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50210731/

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