由于使用array.splice就地修改了数组,如何在不抛出错误的情况下从数组中删除所有仅空白元素?使用PHP,我们有preg_grep,但我在JS中如何正确地执行此操作.
由于上述原因,以下内容不起作用:
for (var i=0, l=src.length; i错误:
未捕获的TypeError:无法调用undefined的方法'match'
Paul Draper.. 22
"从数组中删除仅空白元素"的更好方法.
var array = ['1', ' ', 'c']; array = array.filter(function(str) { return /\S/.test(str); });说明:
Array.prototype.filter
返回一个新数组,仅包含函数返回的元素true
(或truthy值).
/\S/
是一个匹配非空白字符的正则表达式./\S/.test(str)
返回是否str
具有非空白字符.
"从数组中删除仅空白元素"的更好方法.
var array = ['1', ' ', 'c']; array = array.filter(function(str) { return /\S/.test(str); });
说明:
Array.prototype.filter
返回一个新数组,仅包含函数返回的元素true
(或truthy值).
/\S/
是一个匹配非空白字符的正则表达式./\S/.test(str)
返回是否str
具有非空白字符.