freeCodeCamp - усечение строки.Упражнение - PullRequest
0 голосов
/ 07 апреля 2019

Я пытаюсь решить проблему Базовый алгоритм сценариев: усечь строку; но не работает должным образом ...

 let truncateString = (str, num) => {
   return (str.length <= num ? str : str.slice(0, num > 3 ? num - 3 : num) + '...');
 };


truncateString("A-tisket a-tasket A green and yellow basket", 8);

// running tests
truncateString("A-tisket a-tasket A green and yellow basket", 8) should return "A-tisket...".
truncateString("Peter Piper picked a peck of pickled peppers", 11) should return "Peter Piper...".
// tests completed

Ответы [ 3 ]

1 голос
/ 07 апреля 2019

Это даже проще, чем ваш код - немного измените ваш троичный оператор:

let truncateString = (str, num) => str.length > num ? str.slice(0, num) + "..." : str;

console.log(truncateString("A-tisket a-tasket A green and yellow basket", 8));
console.log(truncateString("Peter Piper picked a peck of pickled peppers", 11));
0 голосов
/ 07 апреля 2019
    let truncateString = (str, num) => {
       const x = str.length,
         y = num,
         min = y ^ ((x ^ y) & -(x < y)); 
       return str.slice(0, min) + (!(y-min) && '...');
    };
0 голосов
/ 07 апреля 2019

Здесь: (работает)

let truncateString = (str, num) => {
   return (str.length <= num ? str : str.slice(0, num) + '...');
 };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...