diff --git a/Exercises/day-1/object-exercise-3.js b/Exercises/day-1/object-exercise-3.js index c2a2824..24797ee 100644 --- a/Exercises/day-1/object-exercise-3.js +++ b/Exercises/day-1/object-exercise-3.js @@ -155,8 +155,52 @@ const products = [ } // The products array has three elements and each of them has six properties. - + const product =[ + { + _id: 'eedfcf', + name: 'Mobile phone', + description: 'Huawei Honor', + price: 200, + ratings: [ + { userId: 'fg12cy', rate: 5 }, + { userId: 'zwf8md', rate: 4.5 }, + ], + likes: [], + }, + { + _id: 'aegfal', + name: 'Laptop', + description: 'MacPro: System Darwin', + price: 2500, + ratings: [], + likes: ['fg12cy'], + }, + { + _id: 'hedfcg', + name: 'TV', + description: 'Smart TV: Procaster', + price: 400, + ratings: [{ userId: 'fg12cy', rate: 5 }], + likes: ['fg12cy'], + }, + ] + // a. Create a function called rateProduct which rates the product + const rateproduct = (productId , userid , rate ) => { + const product = product.find (item=>productId===item._id) + if (product){ + const exixst = product.ratings.find(rating => userid===rating.userId) + if(exixst){ + console.log("user already rated this product") + } + else{ + product.rating.push({userid ,rate}) + } + } + else{ + console.log("product not found") + } + } // b. Create a function called averageRating which calculate the average rating of a product // Create a function called likeProduct. This function will helps to like to the product if it is not liked and remove like if it was liked. \ No newline at end of file