EN
JavaScript - get object property by path
12 points
In this article, we would like to show you how to get object property by path in JavaScript.
In the below example, we create a function that takes two arguments:
object
we are working on,path
to the property in the object (delimited by '.
').
With the function, we can get an object's property value for the indicated path.
xxxxxxxxxx
1
const getObjectProperty = (object, path) => {
2
if (object == null) { // null or undefined
3
return object;
4
}
5
const parts = path.split('.');
6
for (const key of parts) {
7
object = object[key];
8
if (object == null) { // null or undefined
9
return object;
10
}
11
}
12
return object;
13
};
14
15
16
// Usage example:
17
18
const data = {
19
user: {
20
username: 'john',
21
password: 'Secret$$'
22
},
23
rapot: {
24
title: 'Storage usage report',
25
goal: 'Remove unused data.'
26
}
27
};
28
29
console.log(getObjectProperty(data, 'user.username')); // john
30
console.log(getObjectProperty(data, 'user.password')); // Secret$$
31
console.log(getObjectProperty(data, 'rapot.title')); // Storage usage report
32
console.log(getObjectProperty(data, 'rapot.goal')); // Remove unused data.
xxxxxxxxxx
1
const getObjectProperty = (object, path) => {
2
if (object == null) { // null or undefined
3
return object;
4
}
5
const parts = path.split('.');
6
return parts.reduce((object, key) => object?.[key], object);
7
};
8
9
10
// Usage example:
11
12
const data = {
13
user: {
14
username: 'john',
15
password: 'Secret$$'
16
},
17
rapot: {
18
title: 'Storage usage report',
19
goal: 'Remove unused data.'
20
}
21
};
22
23
console.log(getObjectProperty(data, 'user.username')); // john
24
console.log(getObjectProperty(data, 'user.password')); // Secret$$
25
console.log(getObjectProperty(data, 'rapot.title')); // Storage usage report
26
console.log(getObjectProperty(data, 'rapot.goal')); // Remove unused data.