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

效果

源码

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;
            }
        });
}
相关推荐
mjhcsp5 分钟前
C++ 数组:基础与进阶全解析
开发语言·c++
5335ld13 分钟前
后端给的post 方法但是要求传表单数据格式(没有{})
开发语言·前端·javascript·vue.js·ecmascript
量子炒饭大师18 分钟前
【一天一个计算机知识】—— 【编程百度】预处理指令
java·开发语言
二川bro18 分钟前
第33节:程序化生成与无限地形算法
前端·算法·3d·threejs
QDKuz25 分钟前
掌握Vue2转Vue3, Options API 转 Composition API
前端·javascript·vue.js
任子菲阳26 分钟前
学Java第四十四天——Map实现类的源码解析
java·开发语言
听风吟丶30 分钟前
Java 11+ HttpClient 实战:从 HttpURLConnection 到现代 HTTP 客户端的全面升级
java·开发语言·http
老前端的功夫31 分钟前
前端Echarts性能优化:从卡顿到流畅的百万级数据可视化
前端·javascript
进击的野人33 分钟前
深入解析localStorage:前端数据持久化的核心技术
前端·javascript
今晚打老虎33 分钟前
c++(斗罗大陆3)
开发语言·c++·斗罗大陆3