_.result(object, path, [defaultValue])
该函数从对象中获取指定路径的属性值,如果属性值是一个函数,则调用该函数并返回结果。如果属性值不存在,则返回默认值。
参数
object
:要获取属性值的对象。path
:属性路径。[defaultValue]
:(可选)属性值不存在时的默认值。
返回值
返回属性值或默认值。
示例
javascript
const object = {
a: 1,
b: {
c: 2,
d: () => "Hello, World!",
},
};
const result1 = _.result(object, "a");
console.log(result1);
// 输出: 1
const result2 = _.result(object, "b.c");
console.log(result2);
// 输出: 2
const result3 = _.result(object, "b.d");
console.log(result3);
// 输出: Hello, World!
const result4 = _.result(object, "b.e", "Default Value");
console.log(result4);
// 输出: Default Value
在上述示例中,我们有一个对象 object
,其中包含属性 a
和 b
。属性 b
是一个嵌套对象,其中包含属性 c
和 d
,其中 d
是一个函数。使用 _.result()
函数从对象中获取指定路径的属性值。
- 在第一个示例中,我们使用路径
'a'
获取属性值1
,直接返回该值。 - 在第二个示例中,我们使用路径
'b.c'
获取属性值2
,直接返回该值。 - 在第三个示例中,我们使用路径
'b.d'
获取属性值,并发现该属性值是一个函数。因此,我们调用该函数并返回函数的结果'Hello, World!'
。 - 在第四个示例中,我们使用路径
'b.e'
获取属性值,但是该属性不存在。因此,根据提供的默认值'Default Value'
,返回默认值。