我正在使用这种类型的数组读取数据。
var myFood = new Array();
function Food(aCode, aRating, aPrice, anImage, aRate, aWeight) {
this.Image = anImage;
this.Rating = aRating;
this.Price = aPrice;
}
然后将其组织为子数据组,然后将其放入下拉菜单中
myFood[i] = new Food(subdata[0], subdata[1], subdata[2]);
}
var mySelect = document.getElementById("selFood");
for (i = 0; i < myFood.length; i++) {
var myOption = document.createElement("option");
myOption.text = myFood[i].Code;
myOption.value = i;
mySelect.add(myOption, null);
}
然后显示输出
function chooseFood(){
var myIndex = document.getElementById("selFood").value;
document.getElementById("imgFood").src = myFood[myIndex].Image;
document.getElementById("spnRating").innerHTML = myFood[myIndex].Rate;
document.getElementById("spnPrice").innerHTML = myFood[myIndex].Price;
由于“价格”数据是一个数字(例如$ 20.00),如何在显示每个价格指数之前减少它们。根据主题,每个价格都有10%的折扣。如何确保数组的每个对象都能获得折扣。
答案 0 :(得分:0)
在方法中传递“ myIndex”值,然后将价格乘以90/100
答案 1 :(得分:0)
最简单的实现方法是在食品“课程”上使用module pattern。
要减少每个食物循环上的数组并在每个索引上调用该方法。
var myFood = new Array();
function Food(aCode, aRating, aPrice, anImage, aRate, aWeight) {
return {
Image: anImage,
Rating: aRating,
Price: aPrice,
addDiscount: function(discount) {
this.Price = this.Price - (this.Price / 100 * discount);
}
}
}
var i = 0;
myFood[i] = new Food('xxx', '1', 20);
console.log(myFood);
myFood[i].addDiscount(10);
console.log(myFood);
答案 2 :(得分:0)
再创建一个名为DiscountPercent的属性,然后创建一个名为DiscountedPrice的函数,该函数将DiscountPercent和Price作为参数并返回DiscountedPrice。
function DiscountedPrice(DiscountPercent,Price){
return Price*(100 - DiscountedPrice)/100;
}
通过此操作,您可以稍后更改单个折扣价,而无需更改代码。