Прошу прощения, если этот вопрос является основным или не задан правильно. Я искал сайт часами, чтобы попытаться исправить ошибку ...Как я могу использовать ключ и значение для одного и того же объекта при повторных кликах
Я пытаюсь сделать угадывание игры. При захвате значения выпадающего списка при отправке я проверяю захваченное значение на ключ от другого объекта массива (theComputer [i]). Если свойство соответствия и его значение истинно, добавьте ключ и значение в compTempObj {}. Затем при повторном выпадающем списке повторите описанный выше процесс, каждый раз добавляя свойство соответствия & к тому же compTempObj {}. Он почти работает, кроме того, он добавляет новый объект для каждого клика, а не к одному и тому же объекту.
Раскрывающийся:
<select class="featureList">
<option class="charFeature">male</option>
<option class="charFeature">female</option>
<option class="charFeature">black hair</option>
<option class="charFeature">white hair</option>
<option class="charFeature">blonde hair</option>
<option class="charFeature">red hair</option>
<option class="charFeature">blue hair</option>
<option class="charFeature">purple hair</option>
<option class="charFeature">beard</option>
<option class="charFeature">moustache</option>
<option class="charFeature">glasses</option>
<option class="charFeature">earrings</option>
<option class="charFeature">hat</option>
<option class="charFeature">green eyes</option>
<option class="charFeature">black eyes</option>
</select>
Мои JS:
//Get SELECT values
function grabInputVal() {
// click event on <select> submit
$(".pickAFeatureBtn").on('click', function(e) {
e.preventDefault();
// Assign <select> value to var
var computerHas = ($(".featureList").val());
theComputer;
//check theComputer array for computerHas(select) property
for (var i = 0; i < theComputer.length; i++) {
// line below check for property val from dropdown against theComputer
if (theComputer[i].hasOwnProperty(computerHas) && theComputer[i][computerHas] === true) {
var compTempObj = {};
// compTempObj.prop = computerHas;
compTempObj[computerHas] = theComputer[i][computerHas];
compTempArr.push(compTempObj);
console.log(compTempArr);
} else {
// Run function to make computer guess will go here
console.log('Noooooooooo!');
}
}
});
}
compTempArr - это массив, определенный глобально. Спасибо, я попробую поставить compTempObj рядом с ним в коде. – Orbital676
В этом случае я отредактирую свой ответ для другого решения. –
Вы сохранили вторую половину моих волос от вытаскивания. Из-за этого я весь день испытывал синдром самозванца. Еще раз спасибо. – Orbital676