Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

MariqnK1 avatar MariqnK1 52 Точки

Store Provision

https://judge.softuni.bg/Contests/Compete/Index/1322#2

Здравейте! Занимавам се с тая задача цяла сутрин и не мога да я вдяна. Пробвах с Object.assign да ги направя обекти масивите, не става. Доста начини пробвах и не стигнах до никъде. Може ли малко насоки, не е задължително да я решавате цялата задача. Благодаря. :)

Тагове:
0
JavaScript Fundamentals 10/06/2020 13:43:05
krasizorbov avatar krasizorbov 548 Точки
Best Answer

Здрасти ето примерно решение което разбира се не е единственния начин за решаване на задачата!

Първия масив е това което имаш налично!

Втория е това което си поръчал!

При първия цикъл променяш количествата в числа защото ги подават като стринг.

После минаваш през поръчките и гледаш дали ги има при вече наличните. Ако е така сумираш, ако не ги добавяш.

Пред последния цикъл пълни обектите, последния принтира.

function storeProvision(store = [], delivery = []) {
  let result = [];
  class Store {
    constructor(productName, quantity) {
      this.productName = productName;
      this.quantity = quantity;
    }
  }
  for (let i = 0; i < store.length; i++) {
    if (i % 2 !== 0) {
      store[i] = +store[i];
    }
  }
  for (let i = 0; i < delivery.length; i += 2) {
    if (store.includes(delivery[i])) {
      let index = store.indexOf(delivery[i]);
      store[index + 1] += +delivery[i + 1];
    } else {
      store.push(delivery[i]);
      store.push(delivery[i + 1]);
    }
  }

  for (let i = 0; i < store.length; i += 2) {
    p = new Store(store[i], store[i + 1]);
    result.push(p);
  }

  for (const key of result) {
    console.log(`${key.productName} -> ${key.quantity}`);
  }
}

1
10/06/2020 15:33:19
MariqnK1 avatar MariqnK1 52 Точки

Ще ги схвана обектите. Въпрос на време е.

 

Благодаря за обяснението и решението. yes

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.