5

比較して3番目のアレイを作成しようとした2つのアレイがあります

私の最初の配列:

sevenDays = ["04","05","06","07","08","09","10"];

私の2番目の配列:

   json[0] =  [Object{day="04",value="5"}, Object { day="05",value="8"}, Object { day="09",value="9"}]

私が取得しようとしているものは次のとおりです。

 [[04,5],[05,8],[06,0],[07,0],[08,0],[09,9],[10,0]]

私はこのようにしてみました

var desiredArray= [];                           
$.each(sevenDays, function (i, v) {
   val= 0;
     if (json[0][i].value) val = json[0][i].value;
     desiredArray[i] = [v, val]
}); 


 [[04,5],[05,8],[06,9],[07,0],[08,0],[09,0],[10,0]] //output
4

2 に答える 2

5

現在、 indexの値を indexiのオブジェクトsevenDaysのプロパティと比較していますが、順序が一致していないため正しくありません。の値は、 のインデックス 2 にありますが、 のインデックス 5 にあります。valueijson[0]09json[0]09sevenDays

を反復処理する必要があり、反復sevenDaysごとに反復処理をjson[0]行って、次のように一致するオブジェクトを見つけます。

var desiredArray = [];

$.each(sevenDays, function (i, day) {
    val = 0;
    $.each(json[0], function(j, value) {
        if(day == value.day)
            val = value.value;
    });
    desiredArray[i] = [day, val];
});

この動作デモを見てください。

于 2013-03-05T12:52:24.000 に答える
0

適切なjson形式の2番目の配列を考慮して....

あなたはこのようにすることができます

var data[] =["",""]
for(value in sevenDays)
{
for(Object in json[0])
{
if(Object.hasOwnProperty(data[value])
{
     // do ur stuff here :)
}
else
{
     //do the other stuff here :)
}
}
}
于 2013-03-05T12:54:03.613 に答える