как проверить значение массива через входное значение? - PullRequest
0 голосов
/ 08 мая 2019

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

.

Я объявил массив с именем «cars» и создал через него цикл, который проверял бы каждое отдельное значение массива. каждый раз, когда я получаю строку «Не доступно».

<html>
    <head>
        <title>Check Whether it is present or not</title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="Design.css" />
    </head>
    <body>        
        <div>
            <input type="text" id="txt">
            <input type="button" value="Check" id="btn">
        </div>
        <div>
            <p id="para">para</p>
        </div>
        <script src="Soul.js"></script>
    </body>
</html>



function check() {

    let intText = document.getElementById("txt").value;
    let cars = ["Lamborghini", "BMW", "Ferrari"];

    for (let i = 0; i < cars.length; i++) {
        if (intText == cars[i]) {
            return document.getElementById("para").innerHTML = cars[i] + " is present";
        }
        else {
            return document.getElementById("para").innerHTML = "Not Available";
        } 
    }
    return cars;
}

btn.addEventListener('click', check, false);

если пользователь вводит BMW, он должен вернуть «BMW присутствует» Точно так же Lamborghini должен вернуть «Lamborghini присутствует» но Бугатти должен вернуть «Не присутствует»

Ответы [ 6 ]

1 голос
/ 08 мая 2019

не используйте цикл без необходимости

    function check() {

        let intText = document.getElementById("txt").value;
        let cars = ["Lamborghini", "BMW", "Ferrari"];
        if(cars.includes(intText)){
        document.getElementById("para").innerHTML =intText + " is present";
        } else {
        document.getElementById("para").innerHTML = "Not Available";
        }   
    }

    btn.addEventListener('click', check, false);
        <head>
            <title>Check Whether it is present or not</title>
            <meta charset="utf-8">
            <link rel="stylesheet" href="Design.css" />
        </head>
        <body>        
            <div>
                <input type="text" id="txt">
                <input type="button" value="Check" id="btn">
            </div>
            <div>
                <p id="para">para</p>
            </div>
            <script src="Soul.js"></script>
        </body>
    </html>
0 голосов
/ 08 мая 2019

function check() {

  let intText = document.getElementById("txt").value;
  let cars = ["Lamborghini", "BMW", "Ferrari"];

  if (cars.indexOf(intText) !== -1) {
    return document.getElementById("para").innerHTML = intText + " is present";
  } else {
    return document.getElementById("para").innerHTML = "Not Available";
  }

  return cars;
}

btn.addEventListener('click', check, false);
<html>

<head>
  <title>Check Whether it is present or not</title>
  <meta charset="utf-8">
  <link rel="stylesheet" href="Design.css" />
</head>

<body>
  <div>
    <input type="text" id="txt">
    <input type="button" value="Check" id="btn">
  </div>
  <div>
    <p id="para"></p>
  </div>
  <script src="Soul.js"></script>
</body>

</html>
0 голосов
/ 08 мая 2019

function check() {
    document.getElementById("para").innerHTML = "";
    let intText = document.getElementById("txt").value;
    let cars = ["Lamborghini", "BMW", "Ferrari"];
    var flag=cars.indexOf(intText);
    if (flag>-1)return document.getElementById("para").innerHTML =intText + " is present";
    else return document.getElementById("para").innerHTML = "Not Available";
 }
btn.addEventListener('click', check, false);
<html>
    <head>
        <title>Check Whether it is present or not</title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="Design.css" />
    </head>
    <body>        
        <div>
            <input type="text" id="txt">
            <input type="button" value="Check" id="btn">
        </div>
        <div>
            <p id="para"/>
        </div>
        <script src="Soul.js"></script>
    </body>
</html>
0 голосов
/ 08 мая 2019
 <html>
    <head>
        <title>Check Whether it is present or not</title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="Design.css" />
    </head>
    <body>        
        <div>
            <input type="text" id="txt">
            <input type="button" value="Check" id="btn">
        </div>
        <div>
            <p id="para">para</p>
        </div>
        <script src="Soul.js"></script>
    </body>
</html>

<script>

function check() {

    let intText = document.getElementById("txt").value;
    let btn = document.getElementById("btn");
    let cars = ["Lamborghini", "BMW", "Ferrari"];

    let text = "Not Available";
    for (let i = 0; i < cars.length; i++) {
        let car = cars[i];
        if (intText == car) {
            text = car;
            break;
        }
    }
    document.getElementById("para").innerHTML = text + " is present";
}

btn.addEventListener('click', check, false);

</script>

Вы должны разорвать петлю при совпадении.

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

Вы можете достичь этого простым условием:

var input = "BMW";
var input2 = "Peugeot"


function checkCar(car){
   var cars = ["BMW", "Lambo", "Bugatti"];
   if(!!~cars.indexOf(car)){
      return car+" is present";
   }
   return car+" not present";
}

console.log(checkCar(input));
console.log(checkCar(input2));

Ключ - формула !!~cars.indexOf(car), которая просто возвращает true, если значение находится в массиве (и это работает также для строк)

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

Просто используйте include, чтобы найти совпадение в массиве. цикл for не нужен.

cars.includes(intText)
let intText = document.getElementById("txt").value;
let cars = ["Lamborghini", "BMW", "Ferrari"];

function check() {

    let intText = document.getElementById("txt").value;
    let cars = ["Lamborghini", "BMW", "Ferrari"];

    if(cars.includes(intText)){
      return document.getElementById("para").innerHTML = intText + " is present";
      }
      else {
         return document.getElementById("para").innerHTML = "Not Available"
       }
}

btn.addEventListener('click', check, false);
<html>
    <head>
        <title>Check Whether it is present or not</title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="Design.css" />
    </head>
    <body>        
        <div>
            <input type="text" id="txt">
            <input type="button" value="Check" id="btn">
        </div>
        <div>
            <p id="para">para</p>
        </div>
        <script src="Soul.js"></script>
    </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...