-2

JavaScriptが自動的に在庫内のアイテムの価格を合計し、在庫内のアイテムの総数も表示するようにしようとしています。在庫に追加された量に対して機能するように作成する必要があります。これは私がこれまでに持っているものです。ありがとう

function inventory (a,b,c)
{
this.name = a;
this.price = b;
this.id = c;


var item1 = new item ("Pen", 2.50,"001");
var item2 = new item ('Pencil', 1.25, '002');
var item3 = new item ('Paper', 0.75, '003');
}
4

3 に答える 3

1

Underscore や Lodash などのライブラリを使用することをお勧めします。これらは、配列、コレクション、およびオブジェクトを操作するための多くのユーティリティ関数を提供します。

具体的には、reduce() 関数を確認してください: http://underscorejs.org/#reduce

したがって、アイテムの配列がある場合、それらの価格の合計を取得するには、次のようにする必要があります。

var sum = _.reduce(items, function(total, item){return total + item.price;}, 0);
于 2013-11-12T00:26:54.307 に答える
0

ここで何を達成しようとしているのかは 100% わかりませんが、オブジェクト プロパティとしてバインドしたい場合は、このようなことができます...

var Inventory = {
    "items" : [
        { "name" : "paperclip", "price" : 25 },
        { "name" : "folder", "price" : 350 },
        { "name" : "desk", "price" : 2999 }
    ],
    "total" : function totalItems() {
        var total = 0;
        this.items.forEach(function(item) {
            total += item.price;
        });
        return total;
    }
};

console.log( Inventory.total() ); // 3275
console.log( Inventory.items.length ) // 3, # items
于 2013-11-12T00:29:01.247 に答える