gpt4 book ai didi

javascript - JSON - 操作元素

转载 作者:行者123 更新时间:2023-11-28 08:00:23 25 4
gpt4 key购买 nike

所以我的 JSON 看起来像 -

[
{
"Metric": "7e70661f-e266-4745-9b1b-c5c5691e9746",
"Pivot1": 40.00000,
"Pivot2": 38.00000,
"Pivot3": 18.00000,
"Total": 96.00000,
"Average": 32.00000,
"IsTotal": 0,
"MetricOrder": 1
}
]

使用 javascript 和/或 jQuery 我想最终得到 -

[
{
"Metric":"7e70661f-e266-4745-9b1b-c5c5691e9746",
"Pivot1":40.00000,
"Pivot1DFA": 125.000%,
"Pivot2":38.00000,
"Pivot2DFA": 118.750%,
"Pivot3":18.00000,
"Pivot3DFA": 56.250%,
"Total":96.00000,
"Average":32.00000,
"IsTotal":0,
"MetricOrder":1
}
]

(DFA 代表与平均值的差异)。

在此示例中,我有 3 个数据透视列。我可以而且可能会有更多,但直到我从服务器取回 JSON 后我才知道。

我该如何实现这个目标?

最佳答案

纯 JavaScript 解决方案
对于 json 中以“Pivot”开头的所有键,在结果 json 中添加一个具有所需操作的键

json = {"Metric": "7e70661f-e266-4745-9b1b-c5c5691e9746",
"Pivot1": 40.00000,
"Pivot2": 38.00000,
"Pivot3": 18.00000,
"Total": 96.00000,
"Average": 32.00000,
"IsTotal": 0,
"MetricOrder": 1
}
json_parsed = {}
Object.keys(json).forEach(
function(e){
json_parsed[e] = json[e]
if(e.indexOf("Pivot") === 0){
var avg = json["Average"]
json_parsed[e+"DFA"] = ((json[e] / avg ) * 100.0) +"%"
}
}
)

使用此解决方案 json_parsedjson var 具有相同的顺序,您可以控制键顺序

>>>> Object.keys(json_parsed)
>>>> ["Metric", "Pivot1", "Pivot1DFA", "Pivot2", "Pivot2DFA", "Pivot3", "Pivot3DFA", "Total", "Average", "IsTotal", "MetricOrder"]

关于javascript - JSON - 操作元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25507938/

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