gpt4 book ai didi

javascript - 按两个不同的值过滤 JSON

转载 作者:行者123 更新时间:2023-11-30 12:14:54 24 4
gpt4 key购买 nike

我正在使用一个函数根据年份键的值过滤 JSON 文件,如下所示:

function filterYr(json, key, value) {
var result = [];
for (var year in json) {
if (json[year][key] === value) {
result.push(json[year]);
}
}

return result;
}

然后我设置一个默认值:

var chooseYear = filterYr(json, 'year', "2000");

但是还有一个下拉列表,因此可以在更改下拉选择选项时过滤 JSON 文件。

我的问题是,我是否也可以使用相同的函数按另一个值过滤相同的 JSON 文件?

例如,我还想按“类型”键进行过滤。如果它是一个新函数,它将是:

function filterType(json, key, value) {
var result = [];
for (var type in json) {
if (json[type][key] === value) {
result.push(json[type]);
}
}

return result;
}

但我如何将其组合成一个函数呢?然后如何设置将“类型”和“年份”都传递给函数的默认值?这可能吗?

谢谢,如果不清楚,请告诉我是否可以提供更多详细信息。

PS- 如果可能的话,我宁愿只使用 javascript 而不是库。

最佳答案

如果您的数据结构如下所示,则您当前的功能运行良好

var items = [
{
year: 2000,
type: 'type1'
},
{
year: 2001,
type: 'type2'
}
];

function filterYr(json, key, value) {
var result = [];
for (var year in json) {
if (json[year][key] === value) {
result.push(json[year]);
}
}
return result;
}

filterYr(items, 'type', 'type2'); //[ { year: 2001, type: 'type2' } ]
filterYr(items, 'year', 2000); //[ { year: 2000, type: 'type1' } ]

您只需要为函数和年份变量使用更通用的名称

关于javascript - 按两个不同的值过滤 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32663940/

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