javascript - 这个字符串处理还有没有更好的方法呢, 我写了2个方法

查看:65
本文介绍了javascript - 这个字符串处理还有没有更好的方法呢, 我写了2个方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

//判断字符串为空的方法
const isEmpty = (value) => {
    if (value === null || value === 'undefined' || value === undefined || value === '') {
        return true;
    }

    if (typeof value === 'string' && value.trim() === '') {
        return true;
    }

    return false;
}

///////////////
//要处理的字符串
//每组key-value用,分隔, key-value之间是:
//想要的结果, 取出所有key, 组成array, 如: ['1', '2']
///////////////
let depts = "1:a,2:b,";


// 方法1:
let result1 = [];
if (!isEmpty(depts)) {
    let deptsArray = depts.split(',');
    for (let deptArray of deptsArray) {
        if (deptArray) {
            let deptId = deptArray.split(':')[0];
            result1.push(deptId);
        }
    }
}

console.log(result1);//结果 ['1','2']

// 方法2:
let result2 = isEmpty(depts) ? [] : depts.split(',')
    .filter(item => !isEmpty(item))
    .map(item => item.split(":")[0]);

console.log(result2);

// 方法3: ?????

有错误的话, 欢迎指正

解决方案

格式确定的话,可以用正则匹配。

let depts = "1:a,2:b,3:5,";
let arr=depts.match(/\d+(?=\:)/g);
console.log(arr)

这篇关于javascript - 这个字符串处理还有没有更好的方法呢, 我写了2个方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆