TypeScript
by jacobwsmith
HTML
<div id="app"></div>
TypeScript
const users = [
{id: 1, name: "Joe", enabled: true, party: "D"},
{id: 2, name: "Bill", enabled: false, party: "D"},
{id: 3, name: "Donald", enabled: true, party: "R"},
{id: 4, name: "Sarah", enabled: false, party: "R"},
{id: 5, name: "Larry", enabled: false, party: "R"},
{id: 6, name: "Sam", enabled: true, party: "D"},
];
// filter and sort
const sortedFilteredList = users.filter(user => {
return user.enabled
}).sort((a, b) => {
if a.name < b.name {
return -1
} else if (a.name > b.name){
return 1
}
return 0
})
console.log(sortedFilteredList)
// hash
const hash = users.reduce((acc, val) => {
if (!val.enabled) {
return acc
}
if (acc[val.party] !== undefined) {
acc[val.party].push(val)
} else {
acc[val.party] = [val]
}
return acc
}, {})
console.log(hash["D"])
console.log(hash["R"])
console.log("HERE")
/*
for (const [key, value] of Object.entries(object1)) {
console.log(`${key}: ${value}`);
}
*/
const listHash = Object.entries(hash).reduce((acc, usersObj) => {
console.log(usersObj)
const users = usersObj[1].reduce(a, user => {
a.push(us)
}, [])
acc.push(users)
return acc
}, [])
console.log("listHash")
console.log(listHash)