Javascript说如果文件夹是另一个文件夹的子项

时间:2011-12-02 16:43:11

标签: javascript jquery file tree directory

我有这些字符串,它们是文件和文件夹的地址:

  1. ../../../的folder1 / SUB1 / SUB12 /
  2. ../../../的folder1 /
  3. ../../../另一个文件夹/
  4. 我想使用javascript进行比较 - 可能是jquery - 看看例如字符串1是否有字符串2的部分,但更多的是说字符串1是字符串2的子句。

    我该怎么做?

4 个答案:

答案 0 :(得分:2)

你可以尝试类似下面的内容

var path1 = "../../../folder1/";
var path2 = "../../../folder1/sub1/sub12/";

if (path2.indexOf(path1) != -1){
 //path2 is a sub of path 1
}

答案 1 :(得分:0)

您可以使用indexOf方法查找一个字符串是否是另一个字符串的一部分。

来自w3schools documentation

  

indexOf()方法返回第一次出现的位置   字符串中的指定值。

     

如果要搜索的值永远不会发生,则此方法返回-1。

var test = "../folder/subfolder1";
var test2 = "../folder";
if (test.indexOf(test2) !=-1) {
     alert(test + " is a subfolder of " + test2);
}

答案 2 :(得分:0)

if(string1.indexOf(string2) != -1){
//string2 is present in string1
}
else{
//string2 is not present in string1
}

答案 3 :(得分:0)

如果您的字符串也包含绝对路径或包含..的路径,不仅在开头我建议检查.indexOf是否返回0而不是-1 }}

它可以帮助解决像。

这样的问题
var path1 = "/rootFolder/";
var path2 = "../folder/rootFolder/";

if (path2.indexOf(path1) === 0) {
  console.log("You want this");  // won't get executed => good
}

if (path2.indexOf(path1) !=-1) {
  console.log("You don't want this"); // will get executed => bad
}