sre*_*moh 4 javascript arrays string url node.js
我使用split函数来分割我的字符串/value/1
var value = "/value/1/";
var arr = value.split("/");
Run Code Online (Sandbox Code Playgroud)
结果我将获得一个包含4个元素"","值","1",""的数组; 但我真的需要输出数组中的非空值.有没有办法在我的输入字符串上生成数组,但是没有空格元素的数组?
我的字符串可能/value/1/ /value/1 /value/ /value基本上是我进行的http request.url.
Lou*_*kad 10
尝试使用Array#filter.
var arr = value.split("/").filter(function (part) { return !!part; });
Run Code Online (Sandbox Code Playgroud)
或者与Tushar建议的相同的短版本.
var arr = value.split("/").filter(Boolean);
Run Code Online (Sandbox Code Playgroud)
你可以使用match正则表达式.
str.match(/[^\/]+/g);
Run Code Online (Sandbox Code Playgroud)
正则表达式[^\/]+将匹配任何非正斜杠的字符.
function getValues(str) {
return str.match(/[^\/]+/g);
}
document.write('<pre>');
document.write('<b>/value/1/</b><br />' + JSON.stringify(getValues('/value/1/'), 0, 4));
document.write('<br /><br /><b>/value/1</b><br />' + JSON.stringify(getValues('/value/1'), 0, 4));
document.write('<br /><br /><b>/value/</b><br />' + JSON.stringify(getValues('/value/'), 0, 4));
document.write('<br /><br /><b>/value</b><br />' + JSON.stringify(getValues('/value'), 0, 4));
document.write('</pre>');Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3672 次 |
| 最近记录: |