Javascript 如何访问来自my AutoSuggest的建议的属性(使用.filter()自定义)

Javascript 如何访问来自my AutoSuggest的建议的属性(使用.filter()自定义),javascript,arrays,reactjs,sorting,javascript-objects,Javascript,Arrays,Reactjs,Sorting,Javascript Objects,我正在我的this.state中显示来自建议变量的建议,使用 suggestions = this.state.products .map((item) => item.name) .sort() .filter((v) => regex.test(v)); 我的this.state.products如下所示: products = [ { name: "Item1", category:

我正在我的
this.state中显示来自建议变量的建议,使用

suggestions = this.state.products
            .map((item) => item.name)
            .sort()
            .filter((v) => regex.test(v));
我的
this.state.products
如下所示:

products = [
  {
    name: "Item1",
    category: "stock",
    id: 123
  },
  {
    name: "Item1",
    category: "product",
    id: 456
  },
  {
    name: "Item2",
    category" "item"
  }
]
suggestions = this.state.products
            .map(({name, category}) => ({name, category}))
            .sort()
            .filter(({name}) => regex.test(name));
但是
this.state.suggestions
仅看起来像这样(假设用户输入是Item1或接近Item1):

如何使其看起来像:

suggestions = [
  {
    name: "Item1",
    category: "stock"
  },
  {
    name: "Item1",
    category: "product"
  }
]

您可以在映射对象时对其进行分解,并仅将name属性传递给
filter
。 大概是这样的:

products = [
  {
    name: "Item1",
    category: "stock",
    id: 123
  },
  {
    name: "Item1",
    category: "product",
    id: 456
  },
  {
    name: "Item2",
    category" "item"
  }
]
suggestions = this.state.products
            .map(({name, category}) => ({name, category}))
            .sort()
            .filter(({name}) => regex.test(name));

您可以在映射对象时对其进行分解,并仅将name属性传递给
filter
。 大概是这样的:

products = [
  {
    name: "Item1",
    category: "stock",
    id: 123
  },
  {
    name: "Item1",
    category: "product",
    id: 456
  },
  {
    name: "Item2",
    category" "item"
  }
]
suggestions = this.state.products
            .map(({name, category}) => ({name, category}))
            .sort()
            .filter(({name}) => regex.test(name));

先生,你是个英雄!还有一件事,你能帮我找到包含给定
id
的对象的索引吗?我有
array=[{…id:489},{…id:978}]
并希望返回包含
id
的对象的索引,该索引等于我的变量
currentId
。知道怎么做吗?先生,你是个英雄!还有一件事,你能帮我找到包含给定
id
的对象的索引吗?我有
array=[{…id:489},{…id:978}]
并希望返回包含
id
的对象的索引,该索引等于我的变量
currentId
。你知道怎么做吗?