w3resource

JavaScript: Create an object composed of the properties the given function returns falsey for

JavaScript: Exercise-154 with Solution

Object from Properties Failing Function

Write a JavaScript program to create an object composed of the properties the given function returns false for. The function is invoked with two arguments: (value and key).

  • Use Object.keys() and Array.prototype.filter() to remove the keys for which fn returns a truthy value.
  • Use Array.prototype.reduce() to convert the filtered keys back to an object with the corresponding key-value pairs.
  • The callback function is invoked with two arguments: (value, key).

Sample Solution:

JavaScript Code:

//#Source https://bit.ly/2neWfJ2 
// Define a function 'omitBy' that removes properties from an object based on a provided predicate function
const omitBy = (obj, fn) =>
  // Get the keys of the object, filter them based on the predicate function, and then reduce them back into an object
  Object.keys(obj)
    .filter(k => !fn(obj[k], k))
    .reduce((acc, key) => ((acc[key] = obj[key]), acc), {});

// Test the 'omitBy' function with an object and a predicate function
console.log(omitBy({ a: 1, b: '2', c: 3 }, x => typeof x === 'number')); // Output: { b: '2' }

Output:

{"b":"2"}

Flowchart:

flowchart: Create an object composed of the properties the given function returns falsey for

Live Demo:

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


For more Practice: Solve these Related Problems:

  • Write a JavaScript program that constructs an object containing only the key-value pairs that fail a provided predicate.
  • Write a JavaScript function that filters an object’s properties based on a function that returns false, then returns the filtered object.
  • Write a JavaScript program that tests each property of an object with a callback and builds a new object with properties where the callback returns false.
  • Write a JavaScript program that excludes properties from an object if they pass a given truth test and returns the remaining ones.

Go to:


PREV : Reverse Characters in String.
NEXT : Filter Where Predicate is False.

Improve this sample solution and post your code through Disqus

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.