var arr = [2, 5, 9, 11, 1, 2, 4], x = 12; arr.sort((a, b)=> b-a).reduce((sum, el, i) => { if (sum > x) arr.length = i; if (sum < x && i==arr.length-1) arr = false; // если все же X больше return sum + el; }); alert(arr);