Вы можете написать это так, чтобы сделать его очень читабельным
function cc(cards) {
let all = [
{ cards : [2,3,4,5,6] : value : 1},
{ cards : [7,8,9] : value : 0},
{ cards : [10,'J','Q','K','A'] : value : -1}
];
return cards.reduce( (acc,card) => {
let found = all.find( v => v.cards.indexOf(card) !== -1 );
if ( !found ) throw 'No such combination';
return acc + found.value;
}, 0);
}
Извините за редактирование, я только что понял, что вход является массивом ...
Вы можете просто поставить тест броска / удержания за пределы этой функции:)