JS 22 - 探险时间!深入查询物件的所有子属性!

大家好!

如果要深入查询一个多层物件,一般都是用 Object.keys 等方法,今天就是要简化这样麻烦的步骤。
我们进入今天的主题吧!


程序码

Felix.delve = function (obj, key) {
    return key in obj
        ? obj[key]
        : Object.keys(obj).reduce(function (a, v) {
            return a === undefined && typeof obj[v] === 'object'
                ? Felix.delve(obj[v], key)
                : a;
    }, undefined);
};

实测

/* 沿用昨天的 json 物件 */
Felix.delve(json, 'JS 21');
// { post: '资料太多看得心很累?用 9 行程序码将资料转换为表格吧!', date: '2021-10-06' }

这样我们就不用逐一用 Object.keys 或其他方法查询了!


差不多也到尾声了,接下来我们要介绍的是函式库的静态方法。
如果对文章有任何疑问,也欢迎在下方提问和建议!
我是 Felix,我们明天再见!


<<:  [Day 22] Crypto 小不舍

>>:  [Day29] Vue3 - 事件绑定

[Day9] Android : Kotlin笔记:JetPack - Fragment KTX

Fragment KTX 首先要在app的build.gradle加入: dependencies ...

[Day20] 参数(下)

其余参数(rest parameter) 上一篇提到,箭头函式无法使用 arguments 物件,所...

Day 12 - 密码攻击的因应

出於书本 Chapter 7. Passwords 因应对策 一开始书上举了最简单的例子便是「建议使...

JS AJAX基础实作(3) DAY28

今天要来做gotop按钮啦 我们先来看一下程序码 function gotoTop() { if (...

敏捷CISSP备考宣言

藉着亲自并协助他人准备CISSP考试,我们正致力於发掘更优良的准备考试的方法。透过这样的努力,我们...