有字符串/a/b/c/d
请问怎么优雅的获取到 ['/a','/a/b','/a/b/c','/a/b/c/d']
这样的结果呢? 谢谢!
const s = "/a/b/c/d";
function process(s) {
const parts = s.split(/\//);
const r = parts.reduce((m, part) => {
m.t.push(part);
m.r.push(m.t.join("/"));
return m;
}, { r: [], t: [] });
r.r.shift();
return r.r;
}
console.log(process(s));
给出一个比较一般的方法吧,水平有限.
var str = '/a/b/c/d';
function test(data) {
var str2, arr1, arr2=[];
arr1 = data.split('/').splice(1);
for(var i=0;i<arr1.length;i++){
str2 = '';
for(var x=0;x<=i;x++){
str2=str2+'/'+arr1[x];
};
arr2[i]=str2;
};
return arr2;
}
console.log(test(str));
var str = "/a/b/c/d";
var array = [];
for(var i = 2, len = str.length; i <= len; i += 2){
array.push(str.substr(0, i));
}
console.log(array);
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.4k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
6 回答1.2k 阅读
再简化
再牺牲可读性