复制
收藏
提问
简洁
实现一个对象属性取值 何女口: 可以通过 fn(object, 'a.b.c') 获取到 object.a.b.c 的值为'c5’ const object ={ a: b:{ 'c5'c: d:2}}}
1个月前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
函数实现属性取值
- 函数定义:可以通过定义一个函数
fn
来实现对对象深层属性的访问。12 - 路径解析:函数接收对象和属性路径作为参数,将路径字符串拆分为数组,以便逐层访问对象属性。1
- 属性访问:使用
reduce()
方法或方括号表示法结合路径数组来逐层深入对象,获取最终属性值。45
示例代码
function fn(obj, path) {
const pathArray = path.split('.'); // 将路径拆分为数组
return pathArray.reduce((acc, part) => acc && acc[part], obj); // 使用reduce方法遍历属性路径
}
const object = {
a: {
b: {
c: 'c5',
d: 2
}
}
};
console.log(fn(object, 'a.b.c')); // 输出: c5
注意事项
你觉得结果怎么样?