1

您好,我有一个包含 5 个类别的数组,我需要过滤每个类别,然后我使用一个条件,但它有一些巨大的东西,在我的回复中,我发送所有未过滤的产品 + 所有过滤的类别

我该如何改进

    const results = await Products.findAll({
        // raw: true, <= remove
        attributes:['id','name', 'float', 'price'],
        include: [{
            model: SubCategory,
            as: 'subcategory',
            attributes: ['id','name'],
        },
        {
            model:Exteriors,
            as: 'exteriors',
            attributes: ['id','name']
        },
        {
            model:Types,
            as: 'types',
            attributes: ['id','name']
        },
    ],
    })
    let listProducts= results.map( (products) => {
        return {
            id: products.id,
            name: products.name,
            float: products.float,
            price: products.price,
            id_sub: products.subcategory.id,
            subcategory: products.subcategory.name,
            id_types: products.types.id,
            type: products.types.name,
            id_ext: products.exteriors.id,
            exterior: products.exteriors.name,
        }
    })

    const fn = listProducts.filter(v => v.id_ext == 2)
    const mw = listProducts.filter(v => v.id_ext == 3)
    const ft = listProducts.filter(v => v.id_ext == 1)
    const ww = listProducts.filter(v => v.id_ext == 4)
    const bs = listProducts.filter(v => v.id_ext == 5)

    if(listProducts){return res.status(200).json(listProducts,fn,mw,ft,ww,bs)}
4

0 回答 0