Нужно изменить программу так, чтобы при введении двух пробелов в форме ввода в результате не выдавало 2 запятые.


<html>
<head>
  <title>Первая лабораторная работа</title>

  <script>
     //Получение данных с формы
     var mA;
     var mB;

     //Функция проверки на существование элемента в массиве
     function isElementInMass(mass, el)
         {
        for(var i=0; i<mass.length; i++)
        {
            if(mass[i] == el)   
                return    true;
        }
        return false;
    }



     //Функция объединения
     function union(mass1, mass2)
         {
            var mas_result = Array();   
                 for(var i=0; i<mass1.length; i++)
        {
            if(!isElementInMass(mas_result, mass1[i]))   
                mas_result.push(mass1[i]);
        }
       
        for(var i=0; i<mass2.length; i++)
        {
            if(!isElementInMass(mas_result, mass2[i] ))   
                mas_result.push(mass2[i]);
        }

        return mas_result;
    }

     //Функция пересечения
     function cross(mass1, mass2)
         {
            var mas_result = Array();   
        for(var j=0; j<mass2.length; j++)
        {
            if(isElementInMass(mass1, mass2[j] ) &&
                           !isElementInMass(mas_result, mass2[j] ))   
                mas_result.push(mass2[j]);
        }

        return mas_result;
    }


     function getData()
    {
        document.getElementById("result").innerHTML = "";
        mA = document.getElementById("massA").value;
        mB = document.getElementById("massB").value;
        mA = mA.split(" ");
        mB = mB.split(" ");
        document.getElementById("result").innerHTML += "Объединение массивов :"+union(mA, mB) +"<br>";

        document.getElementById("result").innerHTML += "Пересечение массивов :"+cross(mA, mB) +"<br>";

    }
   

     //Основная функция   
     function main()
    {
        getData();   




    }   

  </script>

</head>
<body>
    <h1>Первая лабораторная работа</h1><br>
<table>
  <tr><td>
     Первый массив
  </td><td>
     <input type='text' id='massA'>
   
  </td></tr>
  <tr><td> 
    Второй массив
  </td><td>
    <input type='text' id='massB'>
  </td></tr>
  <tr><td colspan='2'>
    <input type='button' value='Вычислить' onClick='main();'>
  </td></tr> 
</table>


 Результат:<br>
 <div id='result'> </div>
    

</body>
</html>


djrazor308: Что конкретно нужно сделать?

Ответы

Ответ дал: djrazor308
0
Я позволил себе немного изменить Ваш код и сделать его немного более читаемым. Так же, мне не совсем было понятно, зачем Вы сделали главную функцию, которая лишь вызывает еще одну. Поэтому я убрал промежуточную и сделал вызов по кнопке самой главной функции. Далее, принцип работы: вводим цифры/буквы в одно поле и в другое. 
Нажимаем кнопку "вычислить". Функции забивают эти данные в массивы и далее сверяют их. Должен признать, мне очень понравилась Ваша реализация. Как работает вывод: объединение - выводит все неповторяющиеся элементы двух массивов. Пересечение - выводит элементы, которые встречались в каждом массиве. Независимо от того, сколько раз. Эта Ваша заслуга. 
Пробел - равноценный участник работы. Это символ. Поэтому если Вы введете в два поля сколько угодно пробелов, а потом некие цифры, то в поле пересечение будет пробел, запятая и остальные числа. Если введете лишь в одном поле пробел, то он будет лишь в поле объединение.
Как я ни старался, достичь двух запятых после моей небольшой корректировки у меня не вышло.
З.Ы.: возможно при сохранении файл как html и последующем открывании у Вас отобразятся "кракозябры". Прошу меня простить за это, т.к. редактировал его в VS. Просто измените кодировку на Windows-1251 в браузере.
Приложения:
Вас заинтересует