dde272c4b8
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
94 lines
2.2 KiB
Markdown
94 lines
2.2 KiB
Markdown
---
|
|
id: ac6993d51946422351508a41
|
|
title: Truncate a String
|
|
challengeType: 1
|
|
forumTopicId: 16089
|
|
dashedName: truncate-a-string
|
|
---
|
|
|
|
# --description--
|
|
|
|
Truncate a string (first argument) if it is longer than the given maximum string length (second argument). Return the truncated string with a `...` ending.
|
|
|
|
# --hints--
|
|
|
|
`truncateString("A-tisket a-tasket A green and yellow basket", 8)` should return the string `A-tisket...`.
|
|
|
|
```js
|
|
assert.strictEqual(
|
|
truncateString('A-tisket a-tasket A green and yellow basket', 8),
|
|
'A-tisket...'
|
|
);
|
|
```
|
|
|
|
`truncateString("Peter Piper picked a peck of pickled peppers", 11)` should return the string `Peter Piper...`.
|
|
|
|
```js
|
|
assert.strictEqual(
|
|
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)` should return the string `A-tisket a-tasket A green and yellow basket`.
|
|
|
|
```js
|
|
assert.strictEqual(
|
|
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)` should return the string `A-tisket a-tasket A green and yellow basket`.
|
|
|
|
```js
|
|
assert.strictEqual(
|
|
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)` should return the string `A...`.
|
|
|
|
```js
|
|
assert.strictEqual(truncateString('A-', 1), 'A...');
|
|
```
|
|
|
|
`truncateString("Absolutely Longer", 2)` should return the string `Ab...`.
|
|
|
|
```js
|
|
assert.strictEqual(truncateString('Absolutely Longer', 2), 'Ab...');
|
|
```
|
|
|
|
# --seed--
|
|
|
|
## --seed-contents--
|
|
|
|
```js
|
|
function truncateString(str, num) {
|
|
return str;
|
|
}
|
|
|
|
truncateString('A-tisket a-tasket A green and yellow basket', 8);
|
|
```
|
|
|
|
# --solutions--
|
|
|
|
```js
|
|
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);
|
|
```
|