Как установить уникальные значения в массиве на «0» вместо неопределенного? (Javascript) - PullRequest
0 голосов
/ 26 февраля 2020

Я довольно новичок в JavaScript и был в игре всего несколько дней. Мне надоело смотреть ролики и я решил сделать небольшую игру.

Итак, программа представляет собой лимонадный стенд. Я создал функцию инвентаризации, которая сохраняет тип / количество материалов, купленных в функции магазина, хотя при отображении инвентаря все переменные, у которых нет установленного номера, читаются как «неопределенные». Для согласованности я хотел бы, чтобы они читали «0».

Код:

function playerInv(){
    const inv = [oldAmountprompt, lemAmountprompt, freshAmountprompt, sugarAmountprompt, tapAmountprompt, distAmountprompt, iceAmountprompt];
    let userprompt = prompt('Inventory:\n' + inv[0] + ' x Old Lemons\n' + inv[1] + ' x Regular Lemons\n' + inv[2] + ' x Fresh Lemons\n' + inv[3] + ' x Sugar\n'
    + inv[4] + ' x Tap Water\n' + inv[5] + ' x Distilled Water\n' + inv[6] + ' x Bags of Ice');

        if(inv[0] == 'undefined' && inv[1] == 'undefined' && inv[2] == 'undefined' && inv[3] == 'undefined' && inv[4] == 'undefined' && inv[5] == 'undefined'
        && inv[6] == 'undefined' && inv[7] == 'undefined')
        {

        }
}

После выполнения консоль читает:

5         x Old Lemons
undefined x Regular Lemons
undefined x Fresh Lemons
etc, etc.


1 Ответ

0 голосов
/ 26 февраля 2020

Вы можете использовать карту для сопоставления всех неопределенных с 0.

inv = inv.map(item => item === undefined ? 0 : item);

Также проверьте метод заполнения. inv.fill(0);

...