2017-01-04 2 views
0

По какой-то причине мой параметр функции «строка» определен до тех пор, пока он не получит метод «indexOf», а затем консоль сообщит об этом как неопределенный. Он отлично работает в остальной части заявления, я просто не понимаю. Любая помощь будет оценена по достоинству.Мой параметр неожиданно не определен в 'indexOf'

function checkRoomForItem(string) { 
 
\t for (let i = 0; i < db[0].rooms[roomLoc].roomInvent.length; i++){ 
 
\t \t if (db[0].rooms[roomLoc].roomInvent[i] === string) { 
 
\t \t \t console.log("String is " + string); 
 
\t \t \t inventory.push(string); 
 
\t \t \t db[0].rooms[roomLoc].roomInvent.pop(db[0].rooms[roomLoc].roomInvent.indexOf(string)); 
 
\t \t }; 
 
\t }; 
 
\t displayOut(); 
 
\t teleTyperOutBox("you get " + string); 
 
}

+0

где-то ссылается на 'string', затем передается' checkRoomForItem', а затем изменяется в 'displayOut()'? – briosheje

+0

Это просто имя параметра, которое я использовал, если это то, что вы имеете в виду, и больше нигде не появляется. Введенная строка разбивается на несколько функций на этом пути, но в этот момент это всего лишь одно слово в виде строки. Если это то, что вы имеете в виду, я немного нуб. – Cuckoo

+0

У вас есть глобальная переменная с именем 'string', определенная где-то? – briosheje

ответ

0

Обнаруженные проблему, я использовал 'поп' неправильно, мне нужно использовать 'сращивание'.

Смежные вопросы