Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Помогите понять (https://javascript.ru/forum/project/72825-pomogite-ponyat.html)

Shter 01.03.2018 00:48

Помогите понять
 
Прошу помощи как новичок в этом не легком деле. Кто-нибудь мне объяснит почему в функции deleteCity не происходит удаление эл. массива?
Если кому не ясно, поясню: это игра аля города, после каждого ответа игрока либо компаб должен удалятся названный город из массива list.


let list = ['Ahmedabad', 'Damascus', 'Delhi', 'Izmir', 'Innsbruck', 'Kawasaki', 'Karachi', 'Islamabad', 'Dalian', 'Nanjing', 'Glasgow', 'Wuhan', 'Naples', 'Sydney', 'Yangon', 'Rome', 'Yerevan', 'Esfahan', 'Eilat', 'Tabriz', 'Zibo', 'Oslo', 'Odessa', 'Anshan', 'Adana'],

    firstArrSize = () => {
        firstArrSize = list.length;
        player(firstArrSize)
    },

    player = (firstArrSize) => {
        if (firstArrSize == list.length) {
            playerWord = (prompt('Назовите Ваш первый город')).toLocaleLowerCase();
            deleteCity(playerWord, bot());
        } else {
            playerWord = (prompt('Назовите Ваш город')).toLocaleLowerCase();
            deleteCity(playerWord, bot());
        }
    },

    deleteCity = (answer, func) => {
        for (i = 0; i < list.length; i++) {
            tempCity = list[i].toLocaleLowerCase();
            if (tempCity == answer) {
                list.splice(i, 1);                
                return func;
            }
        }
    }

    bot = () => {
        lastChar = playerWord.charAt(playerWord.length - 1);        
        i = 0;
        firstChar = '';
        while(firstChar !== lastChar){
            firstChar = (list[i].toLocaleLowerCase()).charAt(0);
            i++;
        };
        if(firstChar == lastChar){            
            alert(list[i-1])
            deleteCity(list[i-1], player());
        }else{
            alert('You are winner!');
        }
    }


    firstArrSize();

Shter 01.03.2018 23:51

Всё, нашёл свои косяки, процесс пошёл...как закрыть тему? =)


Часовой пояс GMT +3, время: 08:51.