Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function concert(input) {
- let bands = [];
- let lastBand = input.pop();
- let command = input.shift();
- while (command != "start of concert") {
- if (command.includes("Add")) {
- let [comm, bandName, bandMembers] = command.split("; ");
- let bandMembersArr = bandMembers.split(", ");
- let newBand = { name: bandName, members: bandMembersArr }
- let bandExists = false;
- bands.forEach(band => {
- if (band["name"] == bandName) {
- bandExists = true;
- bandMembersArr.forEach(element => {
- if (band.hasOwnProperty("members")) {
- if (!band["members"].includes(element)) {
- band["members"].push(element);
- }
- } else {
- band["members"] = bandMembersArr;
- }
- });
- }
- });
- if (bandExists == false) {
- bands.push(newBand);
- }
- } else if (command.includes("Play")) {
- let [com, bandName, playtime] = command.split("; ");
- playtime = Number(playtime);
- let newBand = { name: bandName, time: playtime };
- let bandExists = false;
- bands.forEach(band => {
- if (band["name"] == bandName) {
- bandExists = true;
- if (!band.hasOwnProperty("time")) {
- band["time"] = playtime;
- } else {
- band["time"] += playtime;
- }
- }
- });
- if (bandExists == false) {
- bands.push(newBand);
- }
- }
- command = input.shift();
- }
- let sorted = bands.sort((a, b) => {if (a["time"] !== b["time"]) {
- return b["time"] - a["time"]
- } else {
- return a["name"].localeCompare(b["name"]);
- }});
- let totalTime = 0;
- bands.forEach(band => {
- totalTime += band["time"];
- });
- console.log(`Total time: ${totalTime}`);
- sorted.forEach(element => {
- console.log(`${element["name"]} -> ${element["time"]}`);
- });
- console.log(lastBand);
- sorted.forEach(element => {
- if (element["name"] == lastBand) {
- let membersArr = element["members"];
- membersArr.forEach(member => {
- console.log(`=> ${member}`);
- });
- }
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement