如何过滤具有嵌套数组的元素的数组?

卡洛斯·埃斯科巴(Carlos Escobar)

我试图找到能够过滤一个数组的逻辑,该数组包含一个属性中的另一个数组。见下文:

let filterValue = 'berries'; 

const products = [
    {
        id: 1,
        productName: 'Strawberry Basil',
        productImgURL:
            'https://cdn.shopify.com/s/files/1/0274/3641/7123/products/Cherry_Pop_Still_4K_Front-CherryPop.png?v=1588713373',
        type: ['berry', 'citrusy', 'fancy'],
        price: 5.5,
    },
    {
        id: 2,
        productName: 'Sour Blueberry',
        productImgURL:
            'https://cdn.shopify.com/s/files/1/0274/3641/7123/products/SourBlueBerry_Still_4K_Front-SourBlueberry.png?v=1588713584',
        type: ['all', 'sour', 'berry'],
        price: 4,
    },
    {
        id: 3,
        productName: 'Blackberry Jam',
        productImgURL:
            'https://cdn.shopify.com/s/files/1/0274/3641/7123/products/BlackBerry_Jam_Still_4K_Front-BlackberryJam.png?v=1595035965',
        type: ['all', 'berry'],
        price: 10,
    },
    {
        id: 4,
        productName: 'Orange Nectarine',
        productImgURL:
            'https://cdn.shopify.com/s/files/1/0274/3641/7123/products/Orange_Nectarine_Still_4K_Front-OrangeNectarine.png?v=1588713522',
        type: ['all', 'Citrus', 'fancy', 'juicy'],
        price: 6,
    },
    {
        id: 5,
        productName: 'Lemon Verbena',
        productImgURL:
            'https://cdn.shopify.com/s/files/1/0274/3641/7123/products/Lemon_Verbena_Still_4K_Front-LemonVerbena.png?v=1588713474',
        type: ['all', 'Citrus', 'classic', 'floral'],
        price: 4.5,
    },
    {
        id: 6,
        productName: 'Extra Peach',
        productImgURL:
            'https://cdn.shopify.com/s/files/1/0274/3641/7123/products/ExtraPeach_Still_4K_Front-ExtraPeach.png?v=1588713411',
        type: ['Juicy'],
        price: 8.5,
    },
];

如您在上面看到的,我要过滤数组,只显示那些在类型内包含过滤器val的产品。我已经尝试过,但是我的解决方案真的很长。

高丽

const filteredProducts = products.filter(p => p.type.includes(type));

您可以.filter在外部数组和.includes内部数组上使用以执行所需的操作。

根据记录,“浆果”从未出现在任何“类型”数组中,但“浆果”确实

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章