JavaScript 实现 lensProp
给定一个字符串, 比如 lensProp(a, obj)
返回 obj.a
的值
//
function lensProp(lens, obj) {
const keys = lens.split(".");
if (keys.lenngth < 1) return;
return keys.reduce((acc, cur) => (acc !== void 0 ? acc[cur] : acc), obj);
}
const a = lensProp("a", { a: 1 }); // 1
const b = lensProp("b", { a: 1 }); // undefined
const c = lensProp("a.b", { a: { b: "c" } }); // c
const d = lensProp("a.b.c.d.e.f", { a: { b: "c" } }); // undefined
console.log(a);
console.log(b);
console.log(c);
console.log(d);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论