Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function adAstra(input) {
- let products = {}; // for object solution
- let totalCalories = 0;
- let pattern = /(?<del>\||\#)(?<product>[A-Za-z ]+)\k<del>(?<date>[0-3]{1}[\d]{1}\/[0-1]{1}\d{1}\/\d{2})\k<del>(?<calories>\d{1,5})\k<del>/g;
- let result = '';
- let resultArr = []; // idea for solution with array, from: https://softuni.bg/forum/41382/kyde-mi-e-greshkata-v-zadacha-ad-astra-i-zashto-judge-mi-dava-33-tochki
- while ((result = pattern.exec(input)) !== null) {
- let productName = result.groups.product;
- let date = result.groups.date;
- let calories = Number(result.groups.calories);
- totalCalories += calories;
- // Array solution
- resultArr.push(`Item: ${productName}, Best before: ${date}, Nutrition: ${calories}`);
- /* // Object solution
- if (products.hasOwnProperty(productName) === false) {
- products[productName] = {
- calories: 0
- }
- }
- products[productName].calories += calories;
- products[productName].expiryDate = date;
- */
- }
- let daysWithFood = Math.floor(totalCalories / 2000);
- console.log(`You have food to last you for: ${daysWithFood} days!`);
- if (daysWithFood >= 1) {
- /* // Object solution
- for (let product of Object.keys(products)) {
- console.log(`Item: ${product}, Best before: ${products[product].expiryDate}, Nutrition: ${products[product].calories}`);
- }
- */
- // Array solution
- resultArr.forEach(el => console.log(el));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement