Overview
Implement get(object, path, defaultValue) that retrieves the value at path of object. If resolved value is undefined, return defaultValue.
Constraints
pathis a dot-separated string.- Return
defaultValueif path can't be resolved.
Examples
get({ a: { b: 1 } }, 'a.b'); // 1
get({ a: { b: 1 } }, 'a.c', 'default'); // 'default'Solution
Reveal solution
function get(object, path, defaultValue) {
const keys = Array.isArray(path) ? path : path.split('.');
let result = object;
for (const key of keys) {
if (result == null) return defaultValue;
result = result[key];
}
return result === undefined ? defaultValue : result;
}get-value.js
Get
easycodingJavaScriptObjects
Overview
Implement get(object, path, defaultValue) that retrieves the value at path of object. If resolved value is undefined, return defaultValue.
Constraints
pathis a dot-separated string.- Return
defaultValueif path can't be resolved.
Examples
get({ a: { b: 1 } }, 'a.b'); // 1
get({ a: { b: 1 } }, 'a.c', 'default'); // 'default'Solution
Reveal solution
function get(object, path, defaultValue) {
const keys = Array.isArray(path) ? path : path.split('.');
let result = object;
for (const key of keys) {
if (result == null) return defaultValue;
result = result[key];
}
return result === undefined ? defaultValue : result;
}NameTopicDifficulty
103 of 103 problems