Проверка функции на наличие элемента в списке - PullRequest
0 голосов
/ 08 мая 2018

Вот что у меня есть: оно работает, но печатает ответ для каждого элемента в моем массиве. Я только хочу, чтобы он определил, существует ли элемент или нет, и отобразил один ответ. Не уверен, где это исправить.

 function elementOccurs (item, list){

   for(var i = 0; i < list.length; i++){
    if(item == list[i]){
      console.log("Item exists");
    }
    else{
      console.log("Item does not exist");
    }
  }
}
elementOccurs("yo",["hello", "hey", "yo"]);

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

Вы можете использовать переменную флага, скажем, exist, которая будет определять, существует ли значение в массиве или нет. Вы можете использовать ключевое слово break в цикле for, если найдено совпадение, чтобы минимизировать ненужный цикл.

function elementOccurs (item, list){
 var exist = false;
 for(var i = 0; i < list.length; i++){
    if(item == list[i]){
      exist = true;
      break;
    }
  }
  if(exist){
    console.log("Item exists");
  } else {
     console.log("Item does not exist");
  }
}
elementOccurs("yo",["hello", "hey", "yo"]);
0 голосов
/ 08 мая 2018
function elementOccurs (item, list){
   for(var i = 0; i < list.length; i++){
    if(item == list[i]){
        console.log("state is found");
      return true
    }
  }
  return false
}

var status = elementOccurs(yourItem,list)
...