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

效果

源码

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;
            }
        });
}
相关推荐
泡海椒6 分钟前
内置SPI函数库详解:JQuick-Java Builtin工具类实战用法
java·开发语言·python
hqyjzsb15 分钟前
零 AI 项目经验,学 Python 转型 AI 的正确顺序是什么?
开发语言·人工智能·python·算法·职场和发展·数据挖掘·数据分析
走到天涯海角1 小时前
react里面的长列表渲染优化
前端·react.js·前端框架
小羊没烦恼!1 小时前
Hello Web API系列教程——Web API与国际化
java·服务器·前端·javascript·php
Keven_111 小时前
算法札记:ACM适用的很骚的C++语法(持续更新)
开发语言·c++
北岛贰1 小时前
迷茫焦虑期,我做了一个带支付带官网的 AI 聊天虚拟恋人 App
前端·人工智能·后端
脉动数据行情12 小时前
C# 实现德指 DAX 期货 WebSocket 实时行情监听
开发语言·websocket·c#
大圣编蚕2 小时前
Java ByteArrayInputStream 详解:从入门到实战
java·开发语言·算法
菜鸟~noob2332 小时前
【电子战】第02篇:能量检测器 vs. 相关检测器【含matlab代码】
开发语言·matlab
mayaairi3 小时前
Vue2 组件通讯(三):全局事件总线、PubSub、插槽与组件实例属性
前端·javascript·vue.js