前端基础(四十三):文本数据解析为键值对

效果

源码

js 复制代码
function parseKeyValueText(text) {
    return text.split(/\r\n|\r|\n/)
        .filter(d => d !== '')
        .map(line => {
            const [key, value = ''] = line.split(/:(.+)?/, 2).map(v2 => v2 === null || v2 === void 0 ? void 0 : v2.trimLeft());
            if (key || value) {
                return {
                    [key]: (function (value) {
                        try {
                            return JSON.parse(value);
                        } catch (e) {
                            return value;
                        }
                    }(value))
                }
            } else {
                return null;
            }
        });
}
相关推荐
mabing99315 分钟前
Qt QMessageBox、QDialogButtonBox中英文翻译动态切换
开发语言·qt
Sagittarius_A*17 分钟前
【RCELABS】Level 17~18 —— PHP命令执行函数与环境变量注入
开发语言·安全·web安全·靶场·php·rce
2601_9657984717 分钟前
Arrow Unlocker HTML5 Game Review: Keep Web Arcade Players Coming Back
前端·html·html5
冻柠檬飞冰走茶18 分钟前
PTA基础编程题目集 7-19 支票面额(C语言实现)
c语言·开发语言·数据结构·算法
破碎的南瓜30 分钟前
靶场中使用到的php函数以及每种漏洞的防御方式
开发语言·php
不简说1 小时前
JS 代码技巧 vol.10 — 20 个 V8 引擎原理,解释"为什么这样写快"
前端·javascript·面试
谁看我谁 狼家二丫1 小时前
局域网文件共享实战:从“账户被禁用”到成功互传文件
开发语言·php
醉城夜风~1 小时前
HTML常用标签详解学习博客:从基础标签到页面结构完整掌握
前端·学习·html
OpenTiny社区1 小时前
拒绝臃肿!TinyRobot从“AI 输入框”到“AI输入控制台”的可扩展进化
前端·vue.js
醉城夜风~1 小时前
手撕 C++ string:从零实现一个简易字符串类
开发语言·c++·算法