gpt4 book ai didi

jquery - 按名称拆分 json 对象

转载 作者:行者123 更新时间:2023-12-01 02:52:57 25 4
gpt4 key购买 nike

我正在寻找按名称拆分 json 对象的最智能方法,但尚未找到正确的答案。

json 看起来像这样:

[{
"Date": "2016-02-17",
"ProductionAvg": 0.014558
}, {
"Date": "2016-02-18",
"ProductionAvg": 0.014154
}]

我需要将对象拆分为数组,仅包含每对的值:

[2016-02-17, 2016-02-18]

[0.014558, 0.014154]

到目前为止我想出的代码是:

var date = []
var production = []

$.each(data, function () {
$.each(this, function (name, value) {
if (name == "Date") {
date.push(value);
}
if (name == "ProductionAvg") {
production.push(value);
}
}
});
});

但是,作为我的新手,我完全不确定这是否是实现这一目标的标准方法。非常感谢任何评论。

最佳答案

只要您知道所有属性名称,您拥有的就没有问题。

如果您想让它更整洁、更动态,您可以将所有结果存储在另一个对象中,每个属性与源属性具有相同的名称,并且值是从该源提取的值,例如

{
"Date": ["2016-02-17", "2016-02-18"],
"ProductionAvg": [0.014558, 0.014154]
}

这只需要检查结果对象中是否存在该属性,如果不存在,则将其设置为空数组。然后将当前值插入其中:

var arr = [{
"Date": "2016-02-17",
"ProductionAvg": 0.014558
}, {
"Date": "2016-02-18",
"ProductionAvg": 0.014154
}]

results = {};
$.each(arr, function() { // loop array
$.each(this, function(k, v) { // loop object
// if result does not have property name, create it with empty array
if(typeof(results[k]) === "undefined") {
results[k] = [];
}

// push the value to the result array
results[k].push(v);
})
});

console.dir(results);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

关于jquery - 按名称拆分 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35530372/

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