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 ""; //说明是空数组 };