JSFiddle - React, Tailwind, and code Playground

by andypotanin

JavaScript

function findPrefix(strings){
    if(!strings || strings.length === 0){
        return null;   
    }
    
    var prefix = '',
        characters = strings[0].split(''),
        i, j;
    
    for(i = 0; i < characters.length; i++){
        var isPrefix = true,
            character = characters[i];

        for(j = 0; j < strings.length; j++) {
            var string = strings[j];

            isPrefix = isPrefix && 
                (string.length >= i + 1 && string[i] === character);
        }

        if(isPrefix) {
            prefix += character;
        } else {
            return prefix;
        }
    }
}

function reverse(string){
    return string.split('').reverse().join('');
}

function findSuffix(strings){
    if(!strings || strings.length === 0){
        return null;   
    }

    return reverse(findPrefix(strings.map(reverse)));
}

var _data =  {
    "LA1_AgentID": "R28185",
    "LA1_PhoneNumber1": "434-374-8062",
    "LA1_PhoneNumber1CountryCodeId": "United States (+1)",
    "LA1_PhoneNumber1Ext": "",
    "LA1_UserFirstName": "David",
    "LA1_UserLastName": "Howell",
    "LFD_AC_9": "Heat Pump",
    "LFD_Accessibility_31": "",
    "LFD_AtticDescription_27": "",
    "LFD_BasementDescription_6": "",
    "LFD_BathFeatures_26": "",
    "LFD_Design_1": "1.5 Story",
    "LFD_Dining_21": "Kitchen/Dining Room",
    "LFD_EquipmentAppliances_24": "",
    "LFD_ExteriorFeatures_28": "",
    "LFD_ExteriorFinish_4": "Vinyl Ext",
    "LFD_FireplaceDescription_13": "In Great Room",
    "LFD_Flooring_8": "Carpet",
    "LFD_Foundation_5": "Block",
    "LFD_FuelHeat_11": "Electric Fuel",
    "LFD_GreenBuildingCert_148": "",
    "LFD_GreenBuildingFeatures_32": "",
    "LFD_HOFeesInclude_17": "None Known",
    "LFD_Heating_10": "Heat Pump",
    "LFD_InteriorFeatures_25": "",
    "LFD_LotDescription_15": "",
    "LFD_OtherRooms_22": "",
    "LFD_Parking_16": "No Parking",
    "LFD_Pool_29": "",
    "LFD_Roof_7": "Shingle",
    "LFD_SpecialConditions_19": "",
   ...