博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Ramda] Get Deeply Nested Properties Safely with Ramda's path and pathOr Functions
阅读量:6528 次
发布时间:2019-06-24

本文共 1034 字,大约阅读时间需要 3 分钟。

In this lesson we'll see how Ramda's path and pathOr functions can be used to safely access a deeply nested property from an object while avoiding the dreaded checks for undefined at each new property in the desired path.

 

const R = require('ramda');const {path, pathOr} = R;const acctDept = {    name: 'Accounts Payable',    location: '14th floor',    personnel: {        manager: {            fName: 'Bill',            lName: 'Lumberg',            title: 'director of stuff and things',            salary: 75000        }    }};const itDept = {    name: 'IT',    location: 'remote',    personnel: {}};// path: will return undefined if cannot find propconst getMrgLastName = path(['personnel', 'manager', 'lName']);const getMrgLastNameOrDefaultVal = pathOr('Nobody', ['personnel', 'manager', 'lName'])const res = getMrgLastName(acctDept);console.log("res:", res); // Lumbergconst res2 = getMrgLastName(itDept);const res3 = getMrgLastNameOrDefaultVal(itDept);console.log("res2:", res2); // undefinedconsole.log("res3:", res3); // Nobody

 

转载地址:http://ictbo.baihongyu.com/

你可能感兴趣的文章
Hyper-V 2016 系列教程41 Windows 10 Hyper-V 系统要求
查看>>
EC2 WordPress 移动目录
查看>>
Windows Server 2008 启用公共文件夹共享
查看>>
【运维故事】职场如何领先一步?
查看>>
如何提高SEO优化团队效率
查看>>
做业务与技术之间的桥梁
查看>>
SFB 项目经验-17-Windows 2012 R2-补丁打到最新-问题-KB2982006
查看>>
用hadoop中的libhdfs和fuse-dfs构建快速云存储
查看>>
VMTools和虚拟硬件升级
查看>>
不知道自己不知道(Unknown Unknowns)的知识决定了你的发展
查看>>
Apple Watch的非“智能手表”卖点
查看>>
fedora17升级到fedora18
查看>>
单例模式(Singleton)
查看>>
函数指针和指针函数
查看>>
认识配置设置文件(INI与XML)
查看>>
DZ!NT论坛 3.6.711删除用户各种错解决方案
查看>>
Python的函数参数传递:传值?引用?
查看>>
[转]分享2011年8个最新的jQuery Mobile在线教程
查看>>
android call require api level
查看>>
Mac下android环境搭建
查看>>