
JavaScrpt利用Filter快速去除数组array中的空字符和undifined字符
发布日期:2021-05-06 19:51:51
浏览次数:24
分类:技术文章
本文共 497 字,大约阅读时间需要 1 分钟。
背景
有时涉及字符和数组的转换工作,利用逗号分割和合并数组。但是遇到某个字符为空时出现
str=",aa,dd",这样转化出来的数组就是["","",“aa”,"",“dd”]里面包含空字符。问题
[""]的长度是1,[]长度是0,这样会影响到对数组是否为空的判断。用vue等框架渲染会有问题。
解决方案
arr=["",null,undefined,“0”]
1 去除空字符串
方式1:
arr = arr.filter(m=>m}); 注:lambda表达式,m代表数组元素。等同下面方式2
方式2:
arr = arr.filter(function(e){return e});
原理
array.filter(Boolean)括号内是返回值,如果为真就返回元素,为false就剔除元素。由于“”空字符串==false,所以空字符串被剔除。[1, false, "", undefined, 2].filter(Boolean); // [1, 2]
思考?
如何剔除换行符?
arr = arr.filter(e=> e.replace(/(\r\n|\n|\r)/gm,""));
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月15日 07时35分54秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
解析树状数组
2019-03-06
AtCoder Beginner Contest 100 题解
2019-03-06
【数据结构】可持久化线段树初步
2019-03-06
克拉默法则&矩阵分块:线性代数学习笔记2
2019-03-06
后缀树
2019-03-06
Java高性能编程之CAS与ABA及解决方法
2019-03-06
从BIO到Netty的演变
2019-03-06
《算法导论》第二章笔记
2019-03-06
HTML `capture` 属性
2019-03-06
CSS盒子模型
2019-03-06
HTML节点操作
2019-03-06
浏览器页面呈现过程
2019-03-06
HTML5新特性
2019-03-06
async/await剖析
2019-03-06
cmp命令
2019-03-06
一次编辑
2019-03-06
od命令
2019-03-06
简单工厂模式
2019-03-06
代理模式
2019-03-06
Js中Currying的应用
2019-03-06