Как собрать инвентарь
← К неделе 4 Лонгрид · Основы JS. Часть 3

Как собрать инвентарь

Учимся хранить много предметов в одной переменной, добавлять их и выводить на экран — на примере рюкзака капибары.

1

Массивы: коробка для вещей

Обычная переменная хранит только одно значение (например, let score = 0). Но инвентарь — это список. Чтобы хранить много предметов в одной переменной, придумали массивы (arrays). Они обозначаются квадратными скобками [].

// Создаём пустой рюкзак let backpack = [];

// А так выглядит рюкзак, в котором уже есть вещи let fullBackpack = ['🍊', '🌿'];

Нажимай на подсвеченные фрагменты

let backpack = []
Создали переменную с именем «рюкзак». Квадратные скобки [] означают пустую коробку. Сейчас в ней ничего нет, но она готова принимать предметы.
let fullBackpack = ['🍊', '🌿']
Здесь сразу положили в массив две вещи. Текстовые элементы (строки или эмодзи) пишутся в кавычках, а внутри массива разделяются запятой.
2

Метод .push(): кладём предмет в сумку

У массивов есть встроенные команды (методы). Чтобы закинуть новый предмет в конец списка, используют команду .push().

<!-- HTML: кнопка передаёт предмет '🍊' -->
<button onclick="takeItem('🍊')">Взять</button>

// JavaScript: ловит предмет и кладёт в массив
function takeItem(item) {
  backpack.push(item);
}

Нажимай на подсвеченные фрагменты

takeItem('🍊')
При клике вызываем функцию и отправляем в неё текст (в нашем случае — эмодзи мандаринки).
backpack.push(item);
Команда push берёт то, что прилетело в item, и добавляет внутрь массива backpack. Если нажать 3 раза, массив станет таким: ['🍊', '🍊', '🍊'].
3

Метод .join(): красивый вывод на экран

Как помним из прошлых уроков, document.getElementById('slots') находит элемент на странице. Но если просто вывести туда массив, браузер напечатает его через запятую: 🍊,🌿,🍉.

Чтобы убрать запятые и вывести предметы красиво, используют команду .join(' ').

// Берём рюкзак и выводим на экран без запятых
document.getElementById('slots').textContent = backpack.join(' ');

Нажимай на подсвеченные фрагменты

.join(' ')
Эта команда «склеивает» все предметы массива в одну строку. То, что в кавычках ' ' (пробел) — это то, что встанет между предметами. В итоге получим красивое: 🍊 🌿 🍉.

Практика

Кнопки и место для предметов уже готовы. Тебе — написать JS: завести список, добавлять в него на клик и выводить на экран. Три строки, все в теге <script>.

  1. Заведи пустой массив: let backpack = [];
  2. Внутри функции добавь предмет: backpack.push(item);
  3. Выведи массив в id="slots" через пробел: document.getElementById('slots').textContent = backpack.join(' ');
Твой код (допиши атрибуты и JS)
Превью
Нажми «▶ Запустить»
чтобы проверить инвентарь
Код решения (сравни со своим)
0 / 3 выполнено
  • Создан массив let backpack = [];
  • Использован метод backpack.push(item)
  • Экран обновляется через .join(' ')