如何解析浮点数组对象

时间:2018-09-24 06:20:18

标签: javascript arrays

我正在使用这种类型的数组读取数据。

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%的折扣。如何确保数组的每个对象都能获得折扣。

3 个答案:

答案 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;
}

通过此操作,您可以稍后更改单个折扣价,而无需更改代码。