// This week’s question:
// Implement a ProductList class that has two methods, add(n) (which pushes the value n to the back of the list) and product(m) (which returns the product of the last m numbers in the list). David made an awesome template for submitting your solutions, if you’d like to use it!
// Usage:
// ProductList p = new ProductList();
// p.add(7); // [7]
// p.add(0); // [7,0]
// p.add(2); // [7,0,2]
// p.add(5); // [7,0,2,5]
// p.add(4); // [7,0,2,5,4]
// p.product(3); // return 40 because 2 * 5 * 4
function ProductList() {
this.list = [];
function add(num) {
for (let i = 0; i < this.list.length; i++) {
this.list[i] *= num;
}
this.list.push(num);
}
function product(n) {
let index = this.list.length - n;
return this.list[index];
}
return { add, list: this.list, prev: this.prev, product };
}
let p = new ProductList();
p.add(7); // [7]
p.add(0); // [7,0]
p.add(2); // [7,0,2]
p.add(5); // [7,0,2,5]
p.add(4); // [7,0,2,5,4]
console.log(p.product(3)); // return 40 because 2 * 5 * 4
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.