#javascript #jquery
Вопрос:
У меня есть простой html
код, как показано ниже
lt;input type="text" id="key" name="key"gt; lt;input type="text" id="value" name="value"gt; lt;button id="check"gt;Checklt;/buttongt;
и у меня тоже есть соответствующий jQuery
код
var keyArray = []; var valueArray = []; $("#check").click(function() { var keyVal = $("#key").val(); var valueVal = $("#value").val(); keyArray.push(keyVal); valueArray.push(valueVal); console.log(keyArray); console.log(valueArray); for ($i = 0; $i lt; keyVal.length; $i ) { //Need to add some code here to check } });
Я хочу, чтобы всякий раз, когда кто-то нажимает на Check
кнопку, он должен проверять, есть ли аналогичный элемент, добавленный ранее в соответствующий индекс keyArray
и valueArray
. Например: Сначала я добавляю 1 в id
key
и 2 в id
value
. Если я добавлю 1 и 2 в key
value
поля и во второй раз, он должен подсказать мне such a pair already added
.
Как я могу достичь этого с JavaScript
помощью или jQuery
?
Ответ №1:
var keyArray = []; var valueArray = []; $("#check").click(function() { var keyVal = $("#key").val(); var valueVal = $("#value").val(); var exist=false; if(keyArray.lengthgt;0){ for (i = 0; i lt; keyArray.length; i ) { if(keyArray[i]==keyVal amp;amp; valueArray[i]==valueVal) { console.log("pair exist"); exist=true; break; } } } if(!exist) { keyArray.push(keyVal); valueArray.push(valueVal); } });
lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"gt;lt;/scriptgt; lt;input type="text" id="key" name="key"gt; lt;input type="text" id="value" name="value"gt; lt;button id="check"gt;Checklt;/buttongt;
Ответ №2:
Если вы хотите, вы можете ввести третий массив, сохранить в нем данные и сравнить их со своим значением.
var keyArray = []; var valueArray = []; var newArray = []; $("#check").click(function() { var keyVal = $("#key").val(); var valueVal = $("#value").val(); var isExist = false; for (i = 0; i lt; newArray.length; i ) { if(newArray[i].key == keyVal amp;amp; newArray[i].value == valueVal ){ isExist = true; break; } else{ isExist = false; } } if (isExist){ alert("such a pair already added"); } else{ keyArray.push(keyVal); valueArray.push(valueVal); newArray.push({ key : keyVal, value : valueVal }); } console.log(keyVal); console.log(valueVal); console.log(newArray); });
lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"gt;lt;/scriptgt; lt;input type="text" id="key" name="key"gt; lt;input type="text" id="value" name="value"gt; lt;button id="check"gt;Checklt;/buttongt;