js筛选出数组里不是'',null,undefined的元素并返回

js筛选出数组里不是'',null,undefined的元素并返回

问题

js如何筛选出arr里不是’’,null,undefined的元素并返回

代码

var arr = ['A', '', 'B', null, undefined, 'C', ' '];
var r = arr.filter(function (s) {
return s&& s.trim(); 
});
console.log(r)  // ["A", "B", "C"]

1.filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。

2 .js的判断条件中,0,‘’,undefined , null,NaN都视为false
所以,当 s&& s.trim() 为false时,当前数组的元素会被过滤掉。

3.trim() 方法用于删除字符串的头尾空格。
trim() 方法不会改变原始字符串。

IE9以下不支持trim()方法,需要使用正则表达式来实现:

function myTrim(x) {
  return x.replace(/^\s+|\s+$/gm,'');
}
 
function myFunction() {
  var str = myTrim("        Hello       ");
  alert(str);  //Hello
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值