📅  最后修改于: 2023-12-03 15:02:46.633000             🧑  作者: Mango
在JavaScript中,我们想要获取嵌套对象的属性值时,我们需要使用一些路由语法,例如 obj.prop1.prop2.prop3。但是,这种方法对于深嵌套的对象来说非常繁琐和难以维护,因为它需要重复输入许多属性名称和路由语法。为了解决这个问题,Lodash提供了_.get()方法。
Lodash _.get()方法是一个非常方便的工具,它允许我们轻松地从嵌套对象中获取属性。
_.get(object, path, [defaultValue])
如果路径存在,则返回路径的值,否则返回默认值。
const obj = {
user: {
name: 'Alex',
address: {
city: 'New York',
country: 'USA'
}
}
}
const name = _.get(obj, 'user.name');
console.log(name); //输出:'Alex'
const city = _.get(obj, 'user.address.city');
console.log(city); //输出:'New York'
const zip = _.get(obj, 'user.address.zip', 'N/A');
console.log(zip); //输出:'N/A'
const contacts = [
{
name: 'Alice',
address: {
city: 'New York',
country: 'USA'
}
},
{
name: 'John',
address: {
city: 'London',
country: 'UK'
}
}
]
const firstAddress = _.get(contacts, '[0].address.city');
console.log(firstAddress); //输出:'New York'
const secondAddress = _.get(contacts, '[1].address.city');
console.log(secondAddress); //输出:'London'
Lodash _.get()方法是一个非常方便的工具,它允许我们从嵌套对象中轻松地获取属性值。这可以使代码更简洁,易于阅读和维护。此外,它还可以有效地避免由于嵌套对象出现undefined而导致的错误。