Я создаю игру викторины, которая содержит различные типы вопросов. Один из них - анагарам, поэтому буквы должны быть переупорядочены в правильном порядке. Чтобы достичь этого, я использую 3 массива jQuery, один содержит буквы в первоначальном порядке, а другой содержит буквы в выбранном пользователем порядке.Удаление одного элемента из массива jQuery
Когда пользователь выбирает букву, ее необходимо добавить в выбранный массив букв и удалить из массива рандомизированных букв. Проблема возникает, когда в каждом массиве есть две одинаковые буквы.
Пример, который поднял эту проблему, - это работа Терри.
Когда R щелкнут, мне нужно только одно из R, которое нужно удалить из массива и добавить к другому. Как я могу это достичь?
Массивы выглядеть следующим образом:
буквы = [ "т", "е", "г", "г", "у"]; shuffled = ["e", "t", "r", "y", "r"];
и вот мой код:
$(document).on('click', '.order .letter', function(e){
e.preventDefault();
clickedLetters.splice($.inArray($(this).text().replace(/ /g,''), clickedLetters),1);
console.log(letters);
console.log(shuffled);
console.log(clickedLetters);
$('.order p').empty();
$('.keyboard .keyboard-row').empty();
l=0;
while (l < letters.length) {
console.log(letters[l]);
revealedLetter="";
if (clickedLetters[l]!= undefined) {
revealedLetter=clickedLetters[l];
}
$('.order p').append('<span class="letter revealed">'+revealedLetter+'</span>');
// $(this).addClass('correct');
l++;
}
s=0
while (s < shuffled.length){
if (shuffled[s].match(/[a-z]/i)){
if (jQuery.inArray(shuffled[s],clickedLetters) == -1) {
$('.keyboard .keyboard-row').append('<div class="anagram-letter">'+shuffled[s]+'</div>')
}
s++
}
}
if (clickedLetters.length == letters.length) {
alert('done');
}
});
Спасибо, Шон
Вам необходимо добавить соответствующий код, который вы уже пробовали, и пример массива. – Andy
предоставляют массивы, данные и текущий код, который пытается это сделать – mikus
Вопрос был обновлен. –