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
。你知道怎么做吗?