JavaScript:如果clearname在一个字段上有一个统一的速率,则获取clearname



我有以下JSON:

[{
id: 8,
technical_name: "netflix",
short_name: "nfx",
clear_name: "Netflix",
priority: 10,
display_priority: 1,
monetization_types: [ "flatrate" ],
}, {
id: 9,
technical_name: "gas",
short_name: "gsx",
clear_name: "Gas",
priority: 10,
display_priority: 1,
monetization_types: [ "flatrate" ],
}, {
id: 10,
technical_name: "FOM",
short_name: "Fom",
clear_name: "Gas",
priority: 10,
display_priority: 1,
monetization_types: [ "sax" ],
}]

使用axios,我试图获得所有";clear_name";如果该项目具有";扁平率";在其";货币化类型";。然后console.将其记录到屏幕上。

到目前为止,这是我的代码:

async function makeGetRequest() {
let res = await axios.get("http://apis.makersla.com/content/providers/locale/it_IT");
let data = res.data;
jData = data.forEach((item) =>
item.monetization_types.includes("flatrate") ? item.clear_name : ""
);
console.log(jData);
}
makeGetRequest();

但这行不通。你知道我怎样才能做到这一点吗?我只想控制台日志的明确名称。

过滤器和映射:

const data = [{ id: 8, technical_name: "netflix", short_name: "nfx", clear_name: "Netflix", priority: 10, display_priority: 1, monetization_types: [ "flatrate" ], }, { id: 9, technical_name: "gas", short_name: "gsx", clear_name: "Gas", priority: 10, display_priority: 1, monetization_types: [ "flatrate" ], }, { id: 10, technical_name: "FOM", short_name: "Fom", clear_name: "Gas", priority: 10, display_priority: 1, monetization_types: [ "sax" ], }];
const names = data
.filter(({monetization_types}) => monetization_types && Array.isArray(monetization_types) && monetization_types.includes("flatrate"))
.map(({clear_name}) => clear_name);
console.log(names)

相关内容

最新更新