Проверьте два массива и соответствующий им индекс как пару и найдите, существует ли аналогичная пара

#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;