我需要一些帮助,因为它会让我的大脑受伤。
这是我的字符串:
var path = "/great-grand-parent/grand-parent/parent/";
来自那个阵列:
var pathsArray = path.split("/");
将该字符串拆分为" /"到一个数组,所以每个级别独立,我想建立另一个数组,其中pathsArray []的每个索引用于构建一个包含所有父项的完整路径的数组:
0:/ great-grand-parent / grand-parent / parent /
1:/曾祖父母/祖父母/
2:/曾祖父母/
3:/
我尝试使用for循环通过pathsArray []向后循环,但后来对如何递归引用每个索引感到困惑。任何帮助将不胜感激!可能很简单。
答案 0 :(得分:1)
var result = pathsArray.map(function(s, i, arr) {
return arr.slice(0, arr.length-i).join("/") || "/";
});
var path = "/great-grand-parent/grand-parent/parent/";
var pathsArray = path.split("/");
var result = pathsArray.map(function(s, i, arr) {
return arr.slice(0, arr.length-i).join("/") || "/";
});
document.body.innerHTML = "<pre>" + JSON.stringify(result, null, 2) + "</pre>";
由于尾随/
,会产生额外的结果。如果你愿意,你可以修剪它。