This is JavaScript to designed a track inventory for a store. I need the invento
ID: 3806628 • Letter: T
Question
This is JavaScript to designed a track inventory for a store.
I need the inventory that exposes the following functionality:
addItem - A function that takes 2 parameters: an item's name and price and tracks it internally.
items - A function that returns a list of items, sorted by price from least expensive to most expensive.
getMostExpensive - Returns an object that contains the item's name and price for the most expensive item that has been added.
getLeastExpensive - Returns an object that contains the item's name and price for the most least expensive item that has been added.
removeItem - Remove an item by name.
getItemByName - Returns an item's name and price by name.
getItemByPrice - Returns an item's name and price by price.
Explanation / Answer
PROGRAM CODE:
function Item(n, p) {
this.name = n;
this.price = p;
this.getName = function()
{
return this.name
}
this.getPrice = function()
{
return this.price;
}
}
Item itemsArray = new Array();
var size = 0;
//adding item to the list
function addItem(name, price)
{
items.push(new Item(name, price));
size++;
}
//sorting the list
function sort()
{
for(i=0; i<itemsArray.length; i++)
{
for(j=0; j<itemsArray.length; j++)
{
if(itemsArray[i].getPrice() > itemsArray[j].getPrice())
{
Item temp = itemsArray[j];
itemsArray[j] = itemsArray[i];
itemsArray[i] = temp;
}
}
}
}
//returning the items
function items()
{
sort();
returns itemsArray;
}
//Returns an object that contains the item's name and price for the most expensive item that has been added
function getMostExpensive()
{
sort();
if(size == 0)
return null;
else
return itemsArray[size-1];
}
//Returns an object that contains the item's name and price for the most least expensive item that has been added
function getLeastExpensive()
{
sort();
if(size == 0)
return null;
else
return itemsArray[0];
}
//removes an item from the list
function removeItem(name)
{
for(i=0; i<itemsArray.length; i++)
{
if(itemsArray[i].getName() == name)
{
Item it = itemsArray[i];
while(i<size-1)
{
itemsArray[i] = itemsArray[i+1];
i++;
}
size--;
return it;
}
}
return null;
}
//returning an item that matches the name
function getItemByName(name)
{
for(i=0; i<itemsArray.length; i++)
{
if(itemsArray[i].getName() == name)
{
return itemsArray[i];
}
}
}
//returning an item the price
function getItemByPrice(price)
{
for(i=0; i<itemsArray.length; i++)
{
if(itemsArray[i].getPrice() == price)
{
return itemsArray[i];
}
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.