работа тернарного оператора

Код возвращает undefined. Как правильно записать?

function likes(names) {
    (names.length == 0) ? 'no one likes this' :
    (names.length == 1) ? `${names[0]} likes this` :
    (names.length == 2) ? `${names[0]} and ${names[1]} likes this` :
    (names.length == 3) ? `${names[0]}, ${names[1]} and ${names[2]} likes this` :
    `${names[0]}, ${names[1]} and ${names.length - 2} likes this`;
}

console.log(likes([]));
console.log(likes(['Peter']));
console.log(likes(['Peter', 'Peter']));
console.log(likes(['Peter', 'Peter', 'Peter']));
console.log(likes(['Peter', 'Peter', 'Peter', 'Peter']));


Ответы (1 шт):

Автор решения: MyNameIsKitsune

Добавь return в функцию:

function likes(names) {
    return (names.length == 0) ? 'no one likes this' :
    (names.length == 1) ? `${names[0]} likes this` :
    (names.length == 2) ? `${names[0]} and ${names[1]} likes this` :
    (names.length == 3) ? `${names[0]}, ${names[1]} and ${names[2]} likes this` :
    `${names[0]}, ${names[1]} and ${names.length - 2} likes this`;
}

console.log(likes([]));
console.log(likes(['Peter']));
console.log(likes(['Peter', 'Peter']));
console.log(likes(['Peter', 'Peter', 'Peter']));
console.log(likes(['Peter', 'Peter', 'Peter', 'Peter']));

→ Ссылка