javascript - 这个字符串处理还有没有更好的方法呢, 我写了2个方法
本文介绍了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屋!
查看全文