Files
30-seconds-of-code/snippets/mapString.md
2022-05-14 15:55:07 +03:00

27 lines
844 B
Markdown

---
title: Map string
tags: string
expertise: intermediate
cover: blog_images/budapest-palace.jpg
firstSeen: 2018-07-14T10:59:56+03:00
lastUpdated: 2020-10-21T21:54:53+03:00
---
Creates a new string with the results of calling a provided function on every character in the given string.
- Use `String.prototype.split()` and `Array.prototype.map()` to call the provided function, `fn`, for each character in `str`.
- Use `Array.prototype.join()` to recombine the array of characters into a string.
- The callback function, `fn`, takes three arguments (the current character, the index of the current character and the string `mapString` was called upon).
```js
const mapString = (str, fn) =>
str
.split('')
.map((c, i) => fn(c, i, str))
.join('');
```
```js
mapString('lorem ipsum', c => c.toUpperCase()); // 'LOREM IPSUM'
```