使用另一个数组javascript的每个索引构造数组

时间:2015-07-01 18:36:43

标签: javascript arrays

我需要一些帮助,因为它会让我的大脑受伤。

这是我的字符串:

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 []向后循环,但后来对如何递归引用每个索引感到困惑。任何帮助将不胜感激!可能很简单。

1 个答案:

答案 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>";

由于尾​​随/,会产生额外的结果。如果你愿意,你可以修剪它。