0

配列をプッシュする機能がありますが、常に条件が一緒にチェックされているため、問題が発生しています。これとは別に、中括弧を使用すると、配列番号が作成されます。の回。ここで適切に説明できなくても、pls は私のコードを見てください:

$.map(pObj,function(values,i){
    if(typeof pieArray[values.GeoID] == 'undefined')
        pieArray[values.GeoID] = []; //it should create only one time

    pieArray[values.GeoID].push(values.ResponsePercentage); // when it matches it should not go down to check next if. else it can go.

    if(!values.GeoID && typeof pieArray[0] == 'undefined')
        pieArray[0] = []; //it should create only one time

    pieArray[0].push(values.ResponsePercentage); //now the top if get response, till it is checking and throwing error. top if not match, then it need to work.
});

どうすればこれを達成できますか?

4

2 に答える 2

0

私はこれが好きでした。それは正常に動作します。

var pieArray = [];
var allIndia = false; //using as a key.

$.ajax({
        cache: false,
        type: "GET",
        async: false,
        url: url,
        dataType: "jsonp",
        success: function (pObj) {
        $.map(pObj,function(values,i){
            if(typeof pieArray[values.GeoID] == 'undefined') pieArray[values.GeoID] = [],allIndia = false;//making false
            pieArray[values.GeoID].push(values.ResponsePercentage);

            if(!values.GeoID && typeof pieArray[0] == 'undefined') pieArray[0] = [], allIndia = true;//making true, so it will not go down the first condition matches.
            if(allIndia) {pieArray[0].push(values.ResponsePercentage)};
        })
        pieArray = $.grep(pieArray,function(n){
            return(n);
        });
        console.log(pieArray);
        makePieChart();
        },
        error: function (err) {
        //console.log(err);
        }
    });

皆さんありがとう。

于 2012-04-20T12:49:02.137 に答える
0

あなたの質問を正しく理解できれば、制御ブロック ( {}) を使用するだけで済みます。

$.map(pObj,function(values,i) {
        if(typeof pieArray[values.GeoID] == 'undefined') {
           //it should create only one time
           pieArray[values.GeoID] = [];
           // when it matches it should not go down to check next if. else it can go.
           pieArray[values.GeoID].push(values.ResponsePercentage);
        }
        if(!values.GeoID && typeof pieArray[0] == 'undefined') {
           //it should create only one time
           pieArray[0] = [];
           //now the top if get response, till it is checking and throwing error. top if not match, then it need to work.
           pieArray[0].push(values.ResponsePercentage);
       }
    });
于 2012-04-20T12:27:55.577 に答える