Sort LI elements by last name

by Ryan Brackett

HTML

<ol class="pledge-list">
  <li><a href="https://www.ngmcgme.org/resident/abdullah-asreb-md/" target="_blank" rel="noopener">Abdullah Asreb, MD</a></li>
  <li>Abdullah Ismail, MD</li>
  <li><a href="https://www.ngmcgme.org/resident/abdullah-panchbhaya-md/" target="_blank" rel="noopener">Abdullah Panchbhaya, MD</a></li>
  <li>Adeyemi Gbogboade, MD</li>
  <li>Aditya K. Ghosh, MD</li>
  <li><a href="https://www.ngmcgme.org/resident/adrianna-s-kordek-md/" target="_blank" rel="noopener">Adrianna Kordek, MD</a></li>
  <li><a href="https://www.ngmcgme.org/resident/ahmer-festok-do/" target="_blank" rel="noopener">Ahmer Festok, DO</a></li>
  <li>Akshay Kumar, MD</li>
  <li><a href="https://www.ngmcgme.org/resident/alec-j-seaton-md/" target="_blank" rel="noopener">Alec Seaton, MD</a></li>
  <li>Aleksandros Mihilli, MD</li>
  <li><a href="https://www.ngmcgme.org/resident/alex-m-adams-do/" target="_blank" rel="noopener">Alex Adams, DO</a></li>
  <li><a href="https://doctors.nghs.com/provider/Alexander+Benz/1535425?unified=Alexander%20Benz" target="_blank" rel="noreferrer noopener">Alexander Benz, MD</a></li>
  <li>Alexander J. Santos, DO</li>
  <li><a href="https://www.ngmcgme.org/instructors/allen-butts-jr-md-facs/" target="_blank" rel="noopener">Allen Butts, MD</a></li>
  <li><a href="https://www.ngmcgme.org/resident/aman-kaur-do/" target="_blank" rel="noreferrer noopener">Aman Kaur, DO</a></li>
  <li><a href="https://www.ngmcgme.org/resident/christelle-a-yakana-moyine-md/" target="_blank" rel="noreferrer noopener">Anais Yakana Moyine, MD</a></li>
  <li><a href="https://doctors.nghs.com/provider/Andrew+Green/1535371?unified=green&amp;sort=relevance%2Cnetworks&amp;tt=93c9af7b-52b7-4744-afdf-f4303709447e&amp;ut=8b139442-ae13-45b7-aa61-25dedc263c1b&amp;timestamp=2021-02-19T21%3A03%3A46.514Z" target="_blank" rel="noopener">Andrew Green, MD</a></li>
  <li>Andrew O. Joseph, MD</li>
  <li><a...

JavaScript

// FUNCTION THAT COMPARES TWO VALUES
let count = 0;
const alphaSort = (a, b) => {

  ///// GET ITEM A //////////////////////
  // SELECT LI VALUE
  let nameA = a.innerText;
  // CONVERT LI VALUE TO ARRAY
  let nameA_array = nameA.split(" ");
  // PICK THE VALUE THAT WILL BE USED AS A LAST NAME
  let comparisonValueA = nameA_array[nameA_array.length - 2];


  ///// GET ITEM B //////////////////////
  // SELECT LI VALUE
  let nameB = b.innerText;
  // CONVERT LI VALUE TO ARRAY
  let nameB_array = nameB.split(" ");
  // PICK THE VALUE THAT WILL BE USED AS A LAST NAME
  let comparisonValueB = nameB_array[nameB_array.length - 2];



  // COMPARE THE ADJACENT VALUES
  if (comparisonValueA > comparisonValueB) return 1;
  if (comparisonValueA < comparisonValueB) return -1;
	
  return 0;
	
};

// WHICH LIST YOU WANT TO SORT
let ul = $('ol');

// FIND THE LIST AND DO THE SORTING
ul.html(ul.find('li').sort(alphaSort));