JSFiddle - React, Tailwind, and code Playground

by David Kyle

HTML

<button id="myButton">Run Again</button>

JavaScript

var Profile = function () {
    var self = this;
    self.Name = "";
    self.Series = [];
    self.AddSeries = function (seriesNumber) {
        self.Series.push(seriesNumber);
    } // end function AddSeries
}; // end class Profile
var User = function (uName) {
    var self = this;
    self.Name = uName;
};

User.prototype.ToProfile = function (seriesData) {
    var userProfile = new Profile();
    userProfile.Name = this.Name;
    for (var i = 0; i < seriesData.length; i++) {
        console.log("Inner loop i value: " + i);
        if (seriesData[i].Name == this.Name) {
            userProfile.AddSeries(seriesData[i].Number);
        } // end if
    } // end for loop
    return userProfile;
};
var Users = [new User("Rose Tyler"), new User("Martha Jones"), new User("Donna Noble"), new User("Amy Pond"), new User("Rory Williams"), new User("Clara Oswald")];
var Series = [{
    Number: 1,
    Name: "Rose Tyler"
}, {
    Number: 2,
    Name: "Rose Tyler"
}, {
    Number: 3,
    Name: "Martha Jones"
}, {
    Number: 4,
    Name: "Donna Noble"
}, {
    Number: 5,
    Name: "Amy Pond"
}, {
    Number: 5,
    Name: "Rory Williams"
}, {
    Number: 6,
    Name: "Amy Pond"
}, {
    Number: 6,
    Name: "Rory Williams"
}, {
    Number: 7,
    Name: "Amy Pond"
}, {
    Number: 7,
    Name: "Rory Williams"
}, {
    Number: 7,
    Name: "Clara Oswald"
}, {
    Number: 8,
    Name: "Clara Oswald"
}];

function buildProfiles(userList, seriesList) {
    var profiles = [];
    if (userList != null && userList != undefined && userList.length > 0) {
        if (seriesList != null && seriesList != undefined && seriesList.length > 0) {
            for (var i = 0; i < userList.length; i++) {
                console.log("Outer loop i value: " + i);
                var newProfile = userList[i].ToProfile(seriesList);
                profiles.push(newProfile);
            } // end for loop
        } else {
            console.log("No Series");
        } // end if/else
    } else {
      ...