我使用split函数来分割我的字符串/value/1
var value = "/value/1/"; var arr = value.split("/");
结果我将获得一个包含4个元素"","值","1",""的数组; 但我真的需要输出数组中的非空值.有没有办法在我的输入字符串上生成数组,但是没有空格元素的数组?
我的字符串可能/value/1/
/value/1
/value/
/value
基本上是我进行的http request.url
.
尝试使用Array#filter
.
var arr = value.split("/").filter(function (part) { return !!part; });
或者与Tushar建议的相同的短版本.
var arr = value.split("/").filter(Boolean);
你可以使用match
正则表达式.
str.match(/[^\/]+/g);
正则表达式[^\/]+
将匹配任何非正斜杠的字符.
function getValues(str) {
return str.match(/[^\/]+/g);
}
document.write('');
document.write('/value/1/
' + JSON.stringify(getValues('/value/1/'), 0, 4));
document.write('
/value/1
' + JSON.stringify(getValues('/value/1'), 0, 4));
document.write('
/value/
' + JSON.stringify(getValues('/value/'), 0, 4));
document.write('
/value
' + JSON.stringify(getValues('/value'), 0, 4));
document.write('
');