gpt4 book ai didi

javascript - 如何计算 JSON 中特定元素的数量

转载 作者:行者123 更新时间:2023-12-03 10:20:44 25 4
gpt4 key购买 nike

我有一个 JSON 对象,如下所示:

var allDataJson = [{"Researchers":"Laura, Mikael","Year":"2015"}, 
{"Researchers":"Mikko","Year":"2013",},
{"Researchers":"Harri","Year":"2015"}, .......] //long list

我需要创建一个 JSON 对象,如下所示:

 var myjson = [{"Year": 2015, "Total":60}, 
{"Year": 2014, "Total":68},
{"Year": 2013, "Total":72}]

例如,有 60 个 2015 年的 allDataJson 项。

到目前为止,我只能获取年份值。关于如何计算Total有什么想法吗?

这是我的代码:

function countPublicationsPerYear(allDataJson){
var lookup = {};
var items = allDataJson;
var result = [];

for (var item, i = 0; item = items[i++];) {
var year = item.Year;
count ++;
if (!(year in lookup)) {
var count = Object.keys(item).length;
lookup[year] = 1;
result.push({ "Year":year
});
}
}
return result; //returns Year: 2013, 2014, 2015
}

最佳答案

所以您正在尝试增加研究人员总数?

回答

function countPublicationsPerYear(allDataJson){
var lookup = {};
var items = allDataJson;
var result = [];

for (var item, i = 0; item = items[i++];) {
var year = item.Year;
count ++;
if (!(year in lookup)) {
lookup[year] = 1;
} else {
lookup[year]++;
}
}

for (var property in lookup) {
if (lookup.hasOwnProperty(property)) {
result.push({"Year": property, "Total": lookup[property]});
}
}

return result; //returns Year: 2013, 2014, 2015
}

var allDataJson = [{"Researchers":"Laura, Mikael","Year":"2015"}, 
{"Researchers":"Mikko","Year":"2013",},
{"Researchers":"Harri","Year":"2015"}];

function countPublicationsPerYear(allDataJson){
var lookup = {};
var items = allDataJson;
var result = [];

for (var item, i = 0; item = items[i++];) {
var year = item.Year;
if (!(year in lookup)) {
lookup[year] = 1;
} else {
lookup[year]++;
}
}

for (var property in lookup) {
if (lookup.hasOwnProperty(property)) {
result.push({"Year": property, "Total": lookup[property]});
}
}

alert(JSON.stringify(result));

return result; //returns Year: 2013, 2014, 2015
}

countPublicationsPerYear(allDataJson);

关于javascript - 如何计算 JSON 中特定元素的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29649972/

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