Files
2022-01-20 20:30:18 +01:00

2.3 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
ac6993d51946422351508a41 文字列の省略 5 16089 truncate-a-string

--description--

文字列 (最初の引数) が指定された最大文字列長 (2 番目の引数) より長い場合、文字列を切り捨ててください。 末尾に ... を付けて、省略された文字列を返してください。

--hints--

truncateString("A-tisket a-tasket A green and yellow basket", 8) は文字列 A-tisket... を返します。

assert(
  truncateString('A-tisket a-tasket A green and yellow basket', 8) ===
    'A-tisket...'
);

truncateString("Peter Piper picked a peck of pickled peppers", 11) は文字列 Peter Piper... を返します。

assert(
  truncateString('Peter Piper picked a peck of pickled peppers', 11) ===
    'Peter Piper...'
);

truncateString("A-tisket a-tasket A green and yellow basket", "A-tisket a-tasket A green and yellow basket".length) は文字列 A-tisket a-tasket A green and yellow basket を返します。

assert(
  truncateString(
    'A-tisket a-tasket A green and yellow basket',
    'A-tisket a-tasket A green and yellow basket'.length
  ) === 'A-tisket a-tasket A green and yellow basket'
);

truncateString("A-tisket a-tasket A green and yellow basket", "A-tisket a-tasket A green and yellow basket".length + 2) は文字列 A-tisket a-tasket A green and yellow basket を返します。

assert(
  truncateString(
    'A-tisket a-tasket A green and yellow basket',
    'A-tisket a-tasket A green and yellow basket'.length + 2
  ) === 'A-tisket a-tasket A green and yellow basket'
);

truncateString("A-", 1) は文字列 A... を返します。

assert(truncateString('A-', 1) === 'A...');

truncateString("Absolutely Longer", 2) は文字列 Ab... を返します。

assert(truncateString('Absolutely Longer', 2) === 'Ab...');

--seed--

--seed-contents--

function truncateString(str, num) {
  return str;
}

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

--solutions--

function truncateString(str, num) {
  if (num >= str.length) {
    return str;
  }

  return str.slice(0, num) + '...';
}

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