思路: 将字符串数组中第一个元素作为基本字符串,
用基本字符串中的字符,从最后一个开始向前拼接判断是否为通用结束的后缀
function getEndStr(arr) { let s = ''; let str = arr[0].charAt(arr[0].length-1); //默认为第一个元素的最后一个字符 for(let i=1;i<arr[0].length;i++) { let isFlag = this.getIsDiff(arr,str); if(isFlag) { s = str; str = arr[0].charAt(arr[0].length-(i+1))+str; }else { break; } } return s.length>0 ? `${s}结尾` : '没有通用结尾'; } // 判断数组中是否存在一个元素和指定比较的后缀字符串不一致 function getIsDiff(arr,str) { let len = str.length; let isFlag = true; for(let i=1;i<arr.length;i++) { let ele = arr[i]; let len = str.length; //对比的字符串 let sTemp = ele.substring(ele.length-len); if(sTemp != str) { isFlag = false; break; } } return isFlag; } let arr = ['abcderb','edwderb','hljkderb']; console.log(getEndStr(arr)); |