Track transaction data for customers and timestamps.
by Bhavik Bamania
JavaScript
const transactions = [
{ customer: "Alice", amount: 200, timestamp: 169229111 },
{ customer: "Bob", amount: 50, timestamp: 169229112 },
{ customer: "Alice", amount: 150, timestamp: 169229113 },
{ customer: "Charlie", amount: 300, timestamp: 169229114 },
{ customer: "Bob", amount: 150, timestamp: 169229115 },
];
function returnCustomerWithMaxTransactions(transactions) {
let map = new Map();
for (let transaction of transactions) {
let maxCustomer = "";
let maxAmount = 0;
for(let {customer, amount} of transactions) {
const total = (map.get(customer) || 0) + amount;
map.set(customer, total);
if(total > maxAmount) {
maxAmount = total;
maxCustomer = customer
}
}
return maxCustomer;
}
}
console.log(returnCustomerWithMaxTransactions(transactions))