JSFiddle - React, Tailwind, and code Playground

by Charlie Winfrey

JavaScript

// Setup
var arrayOfUsers = [{
    id: 1,
    username: "morris082",
    logins: 3,
    age: 30
}, {
    id: 2,
    username: "jimbob",
    logins: 13,
    age: 17
}, {
    id: 3,
    username: "supersally",
    logins: 53,
    age: 32
}];

// Filter users 
// removing any user who is under 18
// return truthy to indicate the item remains in the array 
var result = arrayOfUsers.filter(function (item) {
    return item.age >= 18;
});

console.log(result);

// Map users
// apply modifications to each item
/*
var result = arrayOfUsers.map(function (item) {
    item.points = 5;
    return item;
});

console.log(result);
/**/

// Reduce users into a single value
// Lets get total logins
// using "optional initial value" to start at 0
/* 
var totalLogins = arrayOfUsers.reduce(function (prev, current, i, arr) {
    
    //console.group("Reduce iteration:");
    //console.log(prev, current, i, arr);
    //console.groupEnd();

    return prev + current.logins;

}, 0);

console.log(totalLogins);
/**/