JavaScript: Test a value, x, against a predicate function
JavaScript fundamental (ES6 Syntax): Exercise-104 with Solution
Conditional Function Application
Write a JavaScript program to test a value, x, against a predicate function. If true, return fn(x). Else, return x.
Return a function expecting a single value, x, that returns the appropriate value based on pred.
- Return a function expecting a single value, x, that returns the appropriate value based on pred.
Sample Solution:
JavaScript Code:
//#Source https://bit.ly/2neWfJ2
// Define the 'when' function to conditionally apply a function to a value.
const when = (pred, whenTrue) => x => (pred(x) ? whenTrue(x) : x);
// Define a function 'doubleEvenNumbers' that doubles even numbers.
const doubleEvenNumbers = when(x => x % 2 === 0, x => x * 2);
// Test the 'doubleEvenNumbers' function with different inputs.
console.log(doubleEvenNumbers(2)); // Output: 4 (2 * 2)
console.log(doubleEvenNumbers(1)); // Output: 1 (unchanged)
Output:
4 1
Visual Presentation:
Flowchart:
![flowchart: Test a value, x, against a predicate function](https://www.w3resource.com/w3r_images/javascript-basic-exercise-flowchart-104-1.png)
Live Demo:
See the Pen javascript-basic-exercise-104-1 by w3resource (@w3resource) on CodePen.
Improve this sample solution and post your code through Disqus
Previous: Write a JavaScript program to convert a given string into an array of words.
Next: Write a JavaScript program that return true if the given value is a number, false otherwise.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics