js提取字符串开头公共部分

需求:

编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""

思路:记录数组中第一个字符串的每个字符,依次判断数组中的每个字符串是否都有这个字符,使用every方法,如果返回false,说明该字符不是公共前缀了,不再判断。

            var longestCommonPrefix = function(arr) {
                if(arr.length) {//判断数组是否为空
                    var res = ""; //记录公共前缀
                    for(var i = 0; i < arr[0].length; i++) {
                        var temp = arr[0][i];
                        //每个字符串是否都有相同的字符
                        if(arr.every(el => {
                                return el.charAt(i) == temp;
                            })) {
                            res += temp; //记录公共前缀
                        } else break; //如果返回false,就停止判断,说明不是前缀了
                    }
                    return res;
                }
                return ""; //说明是空数组
            };

 

posted @ 2021-12-27 14:56  键盘敲飞  阅读(393)  评论(0编辑  收藏  举报