JS 21 - 资料太多看得心很累?用 9 行程序码将资料转换为表格吧!

大家好!

光是复杂的 JSON 资料就要看到眼花了,如果又全部缩成一行,我不敢说了。
我们进入今天的主题吧!


程序码

提高资料的可读性。

Felix.json2table = function (json) {
    const table = Felix.create('table');
    Object.keys(json).forEach(function (key) {
        const tr = Felix(table).insert('tr');
        const th = Felix(tr).insert('th');
        const td = Felix(tr).insert('td');
        Felix(th).insert('span', key);
        Felix(td).insert(
            typeof json[key] === 'object'
                ? Felix.json2table(json[key])
                : Felix.create('span', json[key])
        );
    });
    return table;
};

实测

/* UTF-8 */
const json = { "heading": "JavaScript 从 50% 开始,打造函式库不是问题!", "author": "Felix", "progress": "70%", "list": { "JS 19": { "post": "一份能控制网页内容的三人全家桶?", "date": "2021-10-04" }, "JS 20": { "post": "HTML 字串算什麽,教你用 CSS 选择器建立网页元素!", "date": "2021-10-05" }, "JS 21": { "post": "资料太多看得心很累?用 9 行程序码将资料转换为表格吧!", "date": "2021-10-06" } } };

Felix('body').insert(Felix.json2table(json));

JSON2Table


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


<<:  [Day 21] - 初探永丰银行线上收款API - 实作我的收款API

>>:  [神经机器翻译理论与实作] 从头建立英中文翻译器 (II)

[Day14] - Django Admin 介绍

Django 框架一个强大的特色,就是他自备後台管理系统(拍手)! 虽然说开发者习惯惯用程序去修改和...

Day 17 JavaScript bind vs call vs apply

共同点: 原本的 this 是指向全域物件 window ,使用 bind、call、apply ...

[资料库] 学习笔记 - 商城交易之产生订单

这次练习的题目是做出商城中产生订单的功能 功能主要需求:产生订单 (目前一笔订单只能买一个品项)、库...

服务器运作简介

今天是第一天,我先简单的介绍一下网站服务器是如何运作的。还有如果在遭遇大量流量时,可能会有哪些状况。...

Day12 - 正则表示式

在昨天我们建立了模型,并可使用管理网站手动增加书籍与作者的资料。 但回顾 Day10所列的需求,实际...