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,""));
上一篇:如何利用Hbuilder真机调试安卓手机【小米、华为】
下一篇:JavaScrip如何快速给json字符串添加元素

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月15日 07时35分54秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章