JSFiddle - React, Tailwind, and code Playground

by bonneville

HTML

<h3>Input Array</h3>
<div id='ar'></div>
<h3>Sorted Array</h3>
<div id='sortedAr'></div>
<h3>Removed Duplicates</h3>
<div id='noDupsAr'></div>

JavaScript

var ar = [
    'text1,abc,text2', 
    'text3,cde,text4', 
    'text5,abc,text6', 
    'text7,gfh,text8', 
    'text9,cde,text10'
];

var sortOnMiddleText = function (n, m) {
    var nAr = n.split(',');
    var mAr = m.split(',');
    if (nAr[1] < mAr[1]) { return -1; }
    if (nAr[1] > mAr[1]) { return 1; }
    return 0;
};

var removeDups = function(sortedAr) {
    var noDups = [];
    var len = sortedAr.length - 1;
    if (len >= 0) {
        for (var i = 0; i < len; i++) {
            if (sortedAr[i].split(',')[1] !== sortedAr[i+1].split(',')[1]) {
                noDups.push (sortedAr[i]);
            }
        }
        noDups.push (sortedAr[len]);
    }
    return noDups;
};
// Sort and then remove duplicates:
var sortedAr = ar.sort(sortOnMiddleText);
var noDupsAr = removeDups(sortedAr);
    
$('#ar').text(ar.join(', '));    
$('#sortedAr').text(sortedAr.join(', '));
$('#noDupsAr').text(noDupsAr.join(', '));