JavaScript:如果在一个字段上有固定费用,则获取 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",{
  id: 10,technical_name: "FOM",short_name: "Fom",monetization_types: [ "sax" ],}]

使用 axios,如果项目的“monetization_types”具有“flatrate”,我会尝试获取所有“clear_name”。 然后 console.log 到屏幕上。

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

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",{ id: 10,technical_name: "FOM",short_name: "Fom",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)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...