"use strict"; function main(formName) { let arr = document.forms[formName].elements[0].value; arr = arr.split(" "); let result = arr.some( elem => isNotNumber(elem) ); if (result) { alert("arr должен содержать только числа, разделенные пробелом!"); return; } else { arr = arr.map( elem => Number(elem) ); } let n = document.forms[formName].elements[1].value; if (isNotNumber(n)) { alert("n не является числом!"); return; } else { n = Number(n); } alert( "Результат: " + hasPairForSum(arr, n) ); } function hasPairForSum(arr, n) { let map = new Map(); for (let num of arr) { if (map.has(n - num)) { return true; } else { map.set(num, null) } } return false; } function isNotNumber(val) { return val.replace(/\s/g, '').length === 0 || isNaN(val); }