-1

一連の入力をループしています。グループ化された合計を集計する必要があります。

var compoundedArray = new Array();

    holder.find(".dataset input").each(function(index) {
        var val = $(this).val();
        var dataType = $(this).data("type");

        var localObj = {};

        localObj[dataType] = val;
        compoundedArray.push(localObj);
    });

私はこのようなオブジェクトを持っています

[
    {
    "growth":30
    },
    {
    "growth": 40
    },
    {
    "other": 20
    }
]

オブジェクトをループして次のようなものを生成するにはどうすればよいですか

[
    {
        "growth": 70
    },
    {
        "other": 20
    }
]

初期配列オブジェクトをループした場合

for (var i = 0; i < compoundedArray.length; i++) {
console.log(compoundedArray[i]);
}

重複がないこと、および結果を集計できることを確認するにはどうすればよいですか?

4

5 に答える 5

0
var add=function (a,b){ a=a||0; b=b||0; return a+b};
var input=[ {growth:30},{growth:40},{other:20} ],output=[],temp={};


$.each(input,function(i,o){
  var n;
  for(i in o)
     {n=i;break}
  temp[n]=add(temp[n],o[n]);
});

$.each(temp,function(i,o){
  var k={};
   k[i]=o;
  output.push(k)
});

出力変数で出力を検索します。

あまり具体的な質問を投稿しないでください。他の人の役に立たない可能性があります。

于 2013-09-02T12:13:25.397 に答える