diff --git a/topic-5/task-1/index.js b/topic-5/task-1/index.js index c7afee6..de60051 100644 --- a/topic-5/task-1/index.js +++ b/topic-5/task-1/index.js @@ -8,10 +8,16 @@ function breadcrumbCalculate(setter){ - for (let i = 0; i < 1e7; i++) { - i++; - setter(i); - } + let i = 0 + const timer = setInterval(() => { + if( i === 1e7) { + clearInterval(timer); + } + else { + i++; + setter(i); + } + }); } module.exports.breadcrumbCalculate = breadcrumbCalculate; diff --git a/topic-5/task-2/index.js b/topic-5/task-2/index.js index 625dbdc..ceb4054 100644 --- a/topic-5/task-2/index.js +++ b/topic-5/task-2/index.js @@ -6,14 +6,45 @@ Класс должен иметь поля: code, type, value, name. type - наименование группы по МСС, а value сумма затраченная на приобритение данного продукта. - Как строить класс и как экспортиоровать функцию resolveBudget, дело ваше, полная свобода. + Как строить класс и как экспортиоровать функцию resolveBudget, дело ваше, полная свобода. */ +import { stringOfPurchases } from "./list-items"; + +const CodesTypes = { + 5411: "Продукты", + 5732: "Электроника", + 5812: "Составная еда", + 5993: "Никотиновый глицерин", + 5039: "Строительные материалы", + 5172: "Комплектующие авто", + 5651: "Одежда" +} function resolveBudget(string){ - + if (typeof(string) !== 'string'){ + throw new Error('Не то значение') + } + + const result = stringOfPurchases.split(', ').map(x => { + const array = x.split(' '); + return new Purchase( + array.slice(0, array.length - 2).join(' '), + array[array.length - 2], + array[array.length - 1], + ); + }); + + return result; } class Purchase{ + constructor(value, type, code, name) { + this.code = code; + this.type = CodesTypes[type]; + this.value = value; + this.name = name; + } } -module.exports.resolveBudget = resolveBudget; +const _resolveBudget = resolveBudget; +export { _resolveBudget as resolveBudget };