我正试图使一个函数尽可能地可重用。
现在我有一个包含"产品"的JSON文件。
export let productList = [
{
id: 0,
productName: "Men's Merrel Hiking Boots",
price: 65.00,
brand: "Merrell",
},
{
id: 1,
productName: "Women's Merrel Hiking Boots",
price: 65.00,
brand: "Merrell",
},
{
id: 2,
productName: "Natural Walking Stick",
price: 22.00,
brand: "Fayet",
}
]
在我的例子中,我试图Map这些产品并返回所有没有重复的品牌。我知道我可以用这个Set函数做到这一点:
function dedupeCheckboxOptions() {
return [...new Set(productList.map(product => product.brand))];
}
这是可行的,但我正在努力寻找一种方法来使它更可重用。我想它看起来会像这样,所以我也可以使用该函数来返回价格:
function dedupeCheckboxOptions(fullList, item) {
return [...new Set(fullList.map(product => product.item))];
}
但是,这种语法是不正确的,有没有办法做到这一点?
- 更新日期:**
function dedupeCheckboxOptions(fullList, item) {
return [...new Set(fullList.map(product => product[item]))];
}
从@samathingamajig所说的来看,这看起来很有希望,但是当我从JSON文件中传递productList
并运行应用程序(React应用程序)时,它说productList
未定义。
1条答案
按热度按时间vatpfxk51#
使用方括号表示法属性访问器,因为您使用的是变量。
此外,您不需要传入
individualItem
,因为当您将其设置为传入回调函数的参数名称时,已经定义了它。