You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

34 lines
830 B

"use strict";
function main(formName) {
let result = document.getElementById("result");
let arr = document.forms[formName].elements[0].value;
arr = arr.trim().split(" ");
let checkResult = arr.some( elem => isNotNumber(elem) );
if (checkResult) {
result.textContent = "Ошибка: arr должен содержать только числа, разделенные пробелом!";
return;
} else {
arr = arr.map( elem => Number(elem) );
}
result.textContent = "Результат: " + countPairs(arr);
}
function countPairs(arr) {
let map = new Map();
for (let num of arr) {
map.set(num, (map.get(num) || 0) + 1);
}
let result = 0;
map.forEach( val => result += Math.trunc(val / 2) );
return result;
}
function isNotNumber(val) {
return val.replace(/\s/g, '').length === 0 || isNaN(val);
}