forked from TrainingByPackt/Professional-JavaScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathActivity08.js
More file actions
39 lines (35 loc) · 939 Bytes
/
Activity08.js
File metadata and controls
39 lines (35 loc) · 939 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
function logUser(userList, user) {
if(!userList.includes(user)) {
userList.push(user);
}
}
function numUsers(userList) {
return userLeft.length;
}
function userLeft(userList, user) {
const userIndex = userList.indexOf(user);
if (userIndex >= 0) {
userList.splice(userIndex, 1);
}
}
function runSite() {
// Your user list for your website
const users = [];
// Simulate user viewing your site
logUser(users, 'user1');
logUser(users, 'user2');
logUser(users, 'user3');
// User left your website
userLeft(users, 'user2');
// More user goes to your website
logUser(users, 'user4');
logUser(users, 'user4');
logUser(users, 'user5');
logUser(users, 'user6');
// More user left your website
userLeft(users, 'user1');
userLeft(users, 'user4');
userLeft(users, 'user2');
console.log('Current user: ', users.join(', '));
}
runSite();