仲間のスタッカー、
「バンドラー」関数をループさせる方法がわかりません。さまざまな数量を渡す機能が必要であり、数量に基づいて、どのボックス/コンボが最適かを判断します。箱が大きいほど割引率が高くなります。バンドルに入ったアイテムの数とボックスに入れられたアイテムの数を差し引いてこれを達成しようとしましたが、構文の何が問題なのかわかりません。フィードバックをいただければ幸いです。
つまり、1 つのアイテムが 1 ボックスに 250 ドルで入ります。22個入りで、10BOXが2個、1BOXが2個入ります。すなわち。39個のアイテムで、10ボックスが3つ、5ボックスが1つ、1ボックスが4つになります。
function product(sku, name, quantity, cost) {
this.sku = sku;
this.name = name;
this.quantity = quantity;
this.cost = cost;
}
function bundler(quantity) {
var remainder = quantity;
while (remainder > 0) {
var bundle = [];
switch (true) {
case (quantity >= 10):
box_10 = new product(3333,"Box of 10",1,1500);
bundle.push(box_10);
remainder = quantity - 10;
return bundle;
case (remainder >= 5 && remainder <= 9):
box_5 = new product(2222,"Box of 5",1,1000);
bundle.push(box_5);
remainder = remainder - 5;
return bundle;
case (remainder <=4 && remainder > 0):
bundle = new product(1111,"Box of 1",remainder,250);
remainder = remainder - remainder;
return bundle;
}
}
}
var order = bundler(19);