Я пытаюсь сделать палач в javascript, и я хочу проверить, использовал ли пользователь письмо. Я сделал var letterGuessValue = до 0, и если они добавят входной сигнал, то он = 1. Я знаю, что это будет знать все, если я его заработаю (он даже ничего не делает), но, может быть, я на правильном пути? Вот мой код. http://jsbin.com/aWOnAfe/5/editКак определить, был ли повторен вход пользователя?
ответ
Я бы сказал, добавьте ввод в список, и всякий раз, когда они добавляют другой вход (aka letter), проверьте этот список, чтобы увидеть, если он уже там. Если это так, то это потому, что они уже использовали это письмо раньше. Если нет, то это новое письмо.
Я не вижу, где трудная часть.
http://jsfiddle.net/DerekL/jgqQ9/
Пример кода
var used = {};
$("input").keyup(function(){
var val = this.value;
alert(used[val] ? "Used" : "Not used");
this.value = "";
used[val] = true;
});
Как это работает
Присвоить true
к used.LETTER
, когда письмо будет введен. Прежде чем назначать его, если он был undefined
, он не использовался. Если это true
, то он используется.
Иногда разработчики склонны использовать массив для записи нажатых нажатий клавиш при выполнении комбинаций клавиш, но в этом случае повторение массива потребует как большего объема памяти, так и вычислительной мощности. Простой объект достаточно подходит.
Спасибо, но на самом деле это просто повторяется и заставляет меня вынуждать покидать сафари. – Veronica
@Veronica - Не нажимайте 'enter', чтобы закрыть предупреждение. –
Используйте массив для хранения всех использованных букв и выполните функцию, подобную этой, чтобы добавить новые.
var inputs = []
function addLetter(letter){
var used = false;
for(var i = 0; i < inputs.length; i++){
if(inputs[i] == letter){
used = true;
break;
}
}
if(!used){
inputs.push(letter);
}
}
Самый простой способ, чтобы добавить каждую букву в строку, как это:
var letters = '';
var letterPressed = 'X'; // uppercase it if appropriate for your language
if (letters.indexOf(letterPressed) > -1)
{
// you already pressed it
}
else
{
letters += letterPressed;
}
Вы также можете использовать массив для хранения списка прессы, хотя ИМО, что это слишком много.
- 1. Как определить только вход пользователя в EditText?
- 2. Как определить, был ли промокод iOS выкуплен?
- 3. В Angular, как определить, что вход был изменен сторонним кодом?
- 4. Как определить, был ли запущен javascript-конструктор?
- 5. WxPython: определить, был ли диалог был закрыт
- 6. Определить, был ли объект обернутого примитивным пользователя создал
- 7. Определить, был ли запущен поток
- 8. Как определить, когда изменяется вход?
- 9. Определить, был ли пользователь зарегистрирован
- 10. Как определить, был ли аргумент передан сценарию?
- 11. Как определить, был ли виджет GTK уничтожен
- 12. Как определить, был ли файл закрыт
- 13. Как определить, был ли вызов distcp2 успешным?
- 14. Как определить, был ли сжат массив байтов?
- 15. Как определить, был ли файл закрыт?
- 16. Как определить, был ли изменен объект nHibernate
- 17. Как определить, был ли изменен выходной итератор
- 18. Как определить, был ли переадресован исходящий вызов?
- 19. Как определить, был ли объект выпущен
- 20. Как определить, был ли усеченный текст усеченным,
- 21. Как определить, был ли объект C++ освобожден?
- 22. Как определить, был ли элемент динамически создан
- 23. Как определить, был ли нажат ввод файла?
- 24. Как определить, был ли первый фрагмент открыт?
- 25. Как определить, был ли обработан QuerySet Django?
- 26. Как определить, был ли запрос прерван?
- 27. Как определить, был ли затронут SKSpriteNode
- 28. Libgdx: как определить, был ли затронут враг?
- 29. Как определить, был ли вид повернут
- 30. Как определить, был ли задан шаблон C++
Пожалуйста, добавьте соответствующий код к вашему вопросу. –