方法:先确定哪一个是最长的哪一个是最短的,再通过两个循环来遍历出最短的那个字符的所有可能情况,最后通过String的indexOf来判断是否包含。

代码

function(str1, str2) {
    if (str1 > str2) {
        longer = str1;
        shorter = str2;
    }
    if (str1 < str2) {
        longer = str2;
        shorter = str1;
    }
    for (var subLength = shorter.length; subLength > 0; subLength--) {
        for (var index = 0; index + subLength <= shorter.length; index++) {
            var str = shorter.substring(index, index + subLength);
            if (longer.indexOf(str) != -1) {
                return str;
            }
        }
    }
}

运行结果

Javascript实现输出两个字符最长的公共部分-创客青年博客