@outplayedrq

Как можно реализовать данную структуру?

Добрый день, есть данный массив данных. Получаю я его из файла json.
inventory = {
        "Gift-1": {
            "id": 1,
            "title": "Подарок 1",
            "price": 1000,
            "amount": 12
        },
        "Gift-2": {
            "id": 2,
            "title": "Подарок 2",
            "price": 2000,
            "amount": 1
        },
        "Gift-6": {
            "id": 6,
            "title": "Подарок 6",
            "price": 6000,
            "amount": 3
        }
    }

В общем, нужно его перебрать так, чтобы получить это
Подарок 1, находится в инвентаре, в количестве 12 штук
Подарок 2, находится в инвентаре, в количестве 1 штуки
Подарок 6, находится в инвентаре, в количестве 3 штук

Но загвоздка в том, что нужно вывести это в одну переменную, грубо говоря, чтобы я вызывал переменную и у меня выводило console.log с выше указанным примером.
for(let key in inventory) { 
console.log(inventory[key])
}


Пытался делать по разному выводил переменную в цикле, но она у меня все эти три итерации проходила и было 3 console.log. Пытался объявлять переменную не только в зоне видимости этого цикла, но выводит последнее значение, то есть Подарок 6 и его количество.. Последний из вариантов у меня остаётся, это сделать какую-то переменную в которую будут вписываться значения при каждой итерации цикла и потом её выводить, после отработки этого цикла
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
console.log(
  Object.values(inventory).map(
    ({title, amount}) => `${title}, находится в инвентаре, в количестве ${amount} штук${
      amount % 10 === 1 && amount % 100 !== 11 ? 'и' : ''
    }`
  ).join('\n')
);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект