【问题标题】:How to filter data from array in react-native如何在 react-native 中过滤数组中的数据
【发布时间】:2021-10-04 08:32:15
【问题描述】:
let ing = this.state.getData.menus.map((item) => {
    return item.ingredients.filter((i) => {
        i.ingredient_name.includes(text);
    });
});
console.log(ing);

试图从由数组对象组成的数组中过滤数据。

【问题讨论】:

  • 分享有效的输入和各自的输出以便澄清。
  • 和?它在记录什么?有什么问题?

标签: javascript reactjs react-native ecmascript-6 react-redux


【解决方案1】:

下一次,请展示您需要过滤的数据样本,这将有助于人们更快地帮助您。

现在,答案。因为我不确定您拥有的数据模型,所以我的回答可能不正确。但是,这就是我想出的。我确信可能有更好的方法,但如果您有多个结果,这可以解决问题。

const search = 'onions';
const recipes = [{
    'recipe_name': 'pasta',
    'ingredients': [{
        'ingredient_name': 'garlic',
        'ingredient_qty': 1
      }, {
        'ingredient_name': 'pasta',
        'ingredient_qty': 200
      },
      {
        'ingredient_name': 'parmegan',
        'ingredient_qty': 50
      }
    ]

  },
  {
    'recipe_name': 'soup',
    'ingredients': [{
        'ingredient_name': 'potatos',
        'ingredient_qty': 2
      },
      {
        'ingredient_name': 'onions',
        'ingredient_qty': 0.5
      },
      {
        'ingredient_name': 'water',
        'ingredient_qty': 250
      }
    ]
  }
];



const ing = recipes.flatMap((x, i) => {
  const indexes = [];
  const temp = x.ingredients.filter((i => i.ingredient_name === search));
  if (temp.length > 0) {
    indexes.push(i)
  }
  return (
    indexes.flatMap(i => recipes[i])
  )
});
console.log(ing);

【讨论】:

    猜你喜欢
    • 2017-07-27
    • 1970-01-01
    • 2018-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-10
    • 1970-01-01
    • 2018-09-24
    相关资源
    最近更新 更多