Nutzerliste mit Sort ändern

Hausaufgabe 3 vom 22. Mai 2018

by Patrick Hund

HTML

<div id="thread">

</div>

JavaScript

/* TODO:
 *
 * Sieglinde ist sehr stolz darauf, dass sie am meisten Posts von allen geschrieben
 * hat. Sie hat eine Email an unser Community Management geschrieben mit der Bitte,
 * sie als “Post-Königin” als erstes in der Nutzerliste anzuzeigen.
 * 
 * Benutze die “sort”-Methode, um eine neue Version des Arrays “users” zu erzeugen 
 * mit dem Namen “sortedUsers”, bei der die Nutzer nach der Anzahl der Posts sortiert,
 * beginnend mit dem Nutzer mit den meisten Posts. Zeige in der Tabelle die Daten von 
 * “sortedUsers” statt von “users” an.
 */
const users = [{
    id: 5343,
    name: 'Hans Wurst',
    username: 'rambo666',
    email: '[email protected]',
    numberOfPosts: 355
  },
  {
    id: 4572,
    name: 'Sieglinde Senf',
    username: 'pwettygurl24',
    email: '[email protected]',
    numberOfPosts: 3942
  },
  {
    id: 4572,
    name: 'Peter Pommes',
    username: 'l33t-d00d',
    email: '[email protected]',
    numberOfPosts: 3
  }
];

const posts = [{
    userId: 5343,
    date: 'Dienstag, den 5. Juni 2018 um 9:21 Uhr',
    message: 'Hey Leute, was geht ab????'
  },
  {
    userId: 4572,
    date: 'Dienstag, den 5. Juni 2018 um 9:27 Uhr',
    message: 'Nicht so viel. Und bei Dir?'
  },
  {
    userId: 5343,
    date: 'Dienstag, den 5. Juni 2018 um 10:13 Uhr',
    message: 'Ich hab mirn neues Auto gekauft, super geile Karre!!11!!'
  },
  {
    userId: 4572,
    date: 'Mittwoch, den 6. Juni 2018 um 2:19 Uhr',
    message: 'Angeber! 😀'
  }
];

posts.forEach(({
  userId,
  date,
  message
}) => displayPost(userId, message));

function displayPost(name, date, message) {
  const post = document.createElement('div');
  post.className = 'post';
  post.innerHtml = message;
  document.getElementById('thread').appendChild(post);
}

function addRow() {
  const table = document.getElementById('users').getElementsByTagName('tbody')[0];
  return table.insertRow(table.rows.length);
}

function addCell(row, text) {
  const cell = row.insertCell(row.cells.length);
...