Overview
Implement deepMap(value, fn) that recursively applies fn to every primitive value in a nested object/array.
Examples
deepMap({ a: 1, b: { c: 2 }}, x => x * 2); // { a: 2, b: { c: 4 }}Solution
Reveal solution
function deepMap(value, fn) {
if (value === null || typeof value !== 'object') return fn(value);
if (Array.isArray(value)) return value.map(item => deepMap(item, fn));
const result = {};
for (const [k, v] of Object.entries(value)) result[k] = deepMap(v, fn);
return result;
}deep-map.js
Deep Map
mediumcodingJavaScriptObjects
Overview
Implement deepMap(value, fn) that recursively applies fn to every primitive value in a nested object/array.
Examples
deepMap({ a: 1, b: { c: 2 }}, x => x * 2); // { a: 2, b: { c: 4 }}Solution
Reveal solution
function deepMap(value, fn) {
if (value === null || typeof value !== 'object') return fn(value);
if (Array.isArray(value)) return value.map(item => deepMap(item, fn));
const result = {};
for (const [k, v] of Object.entries(value)) result[k] = deepMap(v, fn);
return result;
}NameTopicDifficulty
103 of 103 problems