w3resource

JavaScript: Create a new string with the results of calling a provided function on every character in the calling string

JavaScript fundamental (ES6 Syntax): Exercise-83 with Solution

Write a JavaScript program to create a new string with the results of calling a provided function on every character in the calling 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).

Sample Solution:

JavaScript Code:

//#Source https://bit.ly/2neWfJ2 
const mapString = (str, fn) =>
  str
    .split('')
    .map((c, i) => fn(c, i, str))
    .join('');

console.log(mapString('Javascript exercises', c => c.toUpperCase()));

Sample Output:

JAVASCRIPT EXERCISES

Pictorial Presentation:

JavaScript Fundamental: Create a new string with the results of calling a provided function on every character in the calling string

Flowchart:

flowchart: Return the difference between two arrays

Live Demo:

See the Pen javascript-basic-exercise-83-1 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program to map the values of an array to an object using a function, where the key-value pairs consist of the original value as the key and the mapped value.
Next: Write a JavaScript program to create an object with the same keys as the provided object and values generated by running the provided function for each value.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



JavaScript: Tips of the Day

Chunks an array into n smaller arrays

Example:

const tips_chunkIntoN = (arr, n) => {
  const size = Math.ceil(arr.length / n);
  return Array.from({ length: n }, (v, i) =>
    arr.slice(i * size, i * size + size)
  );
}
console.log(tips_chunkIntoN([1, 2, 3, 4, 5, 6, 7,8], 4)); 

Output:

[[1,2],[3,4],[5,6],[7,8]]