Javascript 映射数组并查找值

Javascript 映射数组并查找值,javascript,reactjs,Javascript,Reactjs,我有一个数组和一个对象。在数组中我有一个产品列表,在对象中我有一个类别 我要做的是在数组中找到一个与category.code相等的代码 所以我想做一个数组的.map,但我不知道如何只返回等于category.code的值 console.log("this.props.products: ", this.props.products) console.log("this.props.category: ", this.props.category) let findProducts = th

我有一个数组和一个对象。在数组中我有一个产品列表,在对象中我有一个类别

我要做的是在数组中找到一个与category.code相等的代码

所以我想做一个数组的.map,但我不知道如何只返回等于category.code的值

console.log("this.props.products: ", this.props.products)
console.log("this.props.category: ", this.props.category)

let findProducts = this.props.products.Products.map((product) => {
    console.log("product_", product.Categories.MainCode)
    product.Categories.MainCode == this.props.category.Code
})

console.log("findProducts: ", findProducts)
findProducts
返回一个未定义的列表

基本上我只想获得this.props.products.products.Categories.MainCode==this.props.category.Code

(这应该不止一个)


我该怎么办??谢谢

在这种情况下,map
不是正确的功能。相反,请使用函数,该函数将仅返回回调函数返回true的那些产品的数组

let findProducts = this.props.products.Products.filter((product) => {
  return product.Categories.MainCode == this.props.category.Code;
})

在这种情况下,您需要的是
array.filter
方法,它需要一个函数来决定元素是否应该在结果数组中

让findProducts=this.props.products.products.filter((product)=>{
return product.Categories.MainCode===this.props.categority.Code
})
``
尝试使用过滤器

var arrayFiltered = this.props.products.Products.filter(item => item.Categories.MainCode == this.props.category.code);
您还需要从映射lambda返回一些内容

let findProducts = this.props.products.Products.map(product => {
  console.log('product_', product.Categories.MainCode);
  return product.categories.MainCode == this.props.category.Code;
});

此外,它看起来像是
.filter
的用例,而不是
.map

这听起来像是以下各项的标准用法:

筛选器仅返回返回true的条目。

尝试以下操作:

让findProducts=this.props.products.products.map((product)=>{
如果(product.Categories.MainCode==this.props.categority.Code)返回产品

})
给我们一个产品的示例数组,这样我们就可以测试
map
函数在每次迭代中返回一个值。在代码中,当if条件为false时,将返回undefined。
let findProducts = this.props.products.Products.filter((product) => {
   return product.Categories.MainCode == this.props.category.Code
})