Min and Max in Arrays in ECMAScript

Create new Javascript file named product.js. This file contains code demo as below:

class Product {

    constructor(id, name, price, quantity) {
        this.id = id;
        this.name = name;
        this.price = price;
        this.quantity = quantity;
    }

    toString() {
        return 'Id: ' + this.id + '\nName: ' + this.name + '\nPrice: ' + this.price + '\nQuantity: ' + this.quantity;
    }

    total() {
        return this.price * this.quantity;
    }

}

module.exports = Product;




Create new Javascript file named index.js. This file contains code demo as below:

let Product = require('./product');

let product1 = new Product("p01", "name 1", 4, 2);
let product2 = new Product("p02", "name 2", 11, 3);
let product3 = new Product("p03", "name 3", 7, 8);

let products = [product1, product2, product3];

let maxInfo = products.reduce((p, q) => p.price > q.price ? p : q)
console.log('Product Max Info');
console.log(maxInfo.toString());

let minInfo = products.reduce((p, q) => p.price < q.price ? p : q)
console.log('Product Min Info');
console.log(minInfo.toString());

Use node index.js statement run code demo

Product Max Info
Id: p02
Name: name 2
Price: 11
Quantity: 3

Product Min Info
Id: p01
Name: name 1
Price: 4
Quantity: 2