2011-06-05 37 views
0

即時通訊的新內容。 如果在數組段上遇到問題。下面是代碼:需要幫助測試陣列上的數據

var A1_rest= ''; 
var A1reset_go   = false; 
var auctiontyp = 0 

var myJson    = '{"d":[["","","y","ZAR","1","49517","6458, 8270, 8270, 8270, 7635",null,"1.40","6458","0:13:30","","12","","C","30",null],["y","-00:00","y","ZAR","2","49593","6458, 6458, 6458, 6458, 6458",null,"2.92","6458","0:13:37","","12","","L","12","Ve4mYdrvkkQMKxBH1\/1VMtDTCDQBRspg5jB8jjY08zg="],["","","y","ZAR","3","49058","7456, 9216, 6458, 5153, 7456",null,"194.40","7456","0:00:31","","1100","","T",null,null],["","","y","ZAR","4","49597","2935, 6554",null,"1.22","2935","0:01:16","","12","","T",null,null],["","","y","ZAR","5","49590","4440, 0518, 5343, 2625, 4848",null,"0.95","4440","0:15:58","","5","","L",null,null],["","","y","ZAR","6","49591","4848, 4440, 4440, 0518, 2625",null,"1.81","4848","0:16:05","","12","","L",null,null],["","","y","ZAR","7","49595","6458",null,"5.55","6458","0:04:13","","55","","T",null,null],["","","y","ZAR","8","49596","",null,"2.90","NONE","0:04:35","","29","","T",null,null],["","","y","ZAR","9","49496","6458, 2427, 2427, 7863, 5845",null,"2.56","6458","0:06:07","","10","","B",null,null],["","","y","ZAR","10","49524","6458, 2427, 7863, 7863, 5845",null,"1.67","6458","0:06:00","","5","","B",null,null],["","","y","ZAR","11","49539","6458, 2427, 7863, 7863, 0764",null,"2.02","6458","0:04:25","","10","","B",null,null]]}' 
var jsonObj    = $.parseJSON (myJson); 

//--- The JSON should return a 2-D array, named "d". 
var arrayOfAuctions  = jsonObj.d; 

//--- Loop over each row in the array. 
$.each (
    arrayOfAuctions, 
    function (rowIndex, singleAuctionData) { 

     //--- Print the 7th column. 
      console.log ('Row: ' + (parseInt (rowIndex) + 1) + ' Column: 7 Value: ' + singleAuctionData[6]); 
    //up to here its fine 


    auctiontyp=parseInt (singleAuctionData[4]); 
    if (auctiontyp== 1) 

    { 

    A1_rest=singleAuctionData[16]; 
     alert(A1_rest); 
     alert(singleAuctionData[16]); 
     //2 alerts not the same...? 
     if (A1_rest != 'null') 
     {alert('doing incorrectly'); 
      A1reset_go=true; 
      }; 
     else 
      {alert('success1'); 
      } 
     alert('check5.1'); 
     alert(A1reset_go); 
     if (A1_rest == 'null') and (A1reset_go==true) 
     {alert('should also not run but does'); 
      A1reset_go=false; 
      A1_start=singleAuctionData[8]; 
     }; 
     else 
     {alert('success2'); 
      }; 
    }; 

我現在的問題是: 「A1_rest」 和 「singleAuctionData [16]」

我想 「singleAuctionData [16]」 將是 「空」 的文本值,但它不是,它是一些其他的價值,雖然在警報上它給出了「null」的輸出。我不確定如何測試它。在這種情況下,在第一部分的數組中,(它正在測試)它應該執行「success1」和「success2」。在數組的第二部分,如果我運行相同的測試,它應該只提醒「做得不對」和「成功2」。 有人可以幫我嗎?提前致謝。 路德維希

回答

1

你期待一個「空的文本值」,但我認爲實際值只是null,或沒有,而不是文本'null'

+0

謝謝。任何想法爲什麼它考慮測試「if(A1_rest == null)和(A1reset_go == true){}」爲真?我想即時使用「和」運算符不正確。 – Ludwig 2011-06-05 18:02:31

+0

我想是因爲當你說'(A1_rest!='null')'你正在檢查文本字符串'null'而不是'null'時。嘗試刪除引號。 – 2011-06-05 18:15:31

+0

((A1_rest == null)&&(A1reset_go == true))做了它。猜測它是「和」。不知道通用汽車和Java如此好...只有入門。被用來加速pascal ... :) – Ludwig 2011-06-05 18:50:33