JavaScript Function to Find the Longest Common Prefix
Posted on July 20, 2015 in Algorithms, JavaScript by Matt Jennings
In a JavaScript array, find the longest common prefix of all array elements.
function longestCommonPrefix(arr){
// sort() method arranges array elements alphabetically
var sortArr = arr.sort();
// Get first array element
var arrFirstElem = arr[0];
// Get the last array element length minus one
var arrLastElem = sortArr[sortArr.length - 1];
// Get first array element length
var arrFirstElemLength = arrFirstElem.length;
// Set "i" incrementer to 0
var i= 0;
// while "i" is less than the length of the first array element AND
// the first array element character position matches the last array character position
// increment "i" by one
while(i < arrFirstElemLength && arrFirstElem.charAt(i) === arrLastElem.charAt(i)) {
i++;
}
// Console log the substring of the first element of the array starting with
// index zero and going all the way to just below index "i"
console.log(arrFirstElem.substring(0, i));
}
var x = ["internetly", "internet", "internets"];
var y = ["a", "c", "b"];
// Output for line below is:
// "internet"
longestCommonPrefix(x);
// Output for line below is:
// ""
longestCommonPrefix(y);