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

效果

源码

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;
            }
        });
}
相关推荐
蓝色汪洋7 分钟前
经典修路问题
开发语言·c++·算法
旧梦吟17 分钟前
脚本网站 开源项目
前端·web安全·网络安全·css3·html5
ss27317 分钟前
ThreadPoolExecutor:自定义线程池参数
java·开发语言
我有一棵树19 分钟前
解决 highlight.js 不支持语言的方法
开发语言·javascript·ecmascript
北极糊的狐26 分钟前
按钮绑定事件达成跳转效果并将树结构id带入子页面形成参数完成查询功能并将返回的数据渲染到页面上2022.5.29
前端·javascript·vue.js
幽络源小助理26 分钟前
幽络源二次元分享地址发布页源码(HTML) – 源码网免费分享
前端·html
全栈前端老曹30 分钟前
【ReactNative】页面跳转与参数传递 - navigate、push 方法详解
前端·javascript·react native·react.js·页面跳转·移动端开发·页面导航
卜锦元43 分钟前
Golang后端性能优化手册(第三章:代码层面性能优化)
开发语言·数据结构·后端·算法·性能优化·golang
DARLING Zero two♡1 小时前
接入 AI Ping 限免接口,让 GLM-4.7 与 MiniMax-M2.1 成为你的免费 C++ 审计专家
开发语言·c++·人工智能
码界奇点1 小时前
Java外功核心7深入源码拆解Spring Bean作用域生命周期与自动装配
java·开发语言·spring·dba·源代码管理