2017-01-02 25 views
0

如果我有這樣的事情:兩個有關數組的問題:選擇一個項目,並比較日期

var cars = [ 
{car:"01", color:"red", date: Date("Sep 23, 2013 12:00:00")}, 
{car:"02", color:"blue", date: Date("Sep 24, 2013 12:00:00")}, 
{car:"03", color:"green", date: Date("Sep 25, 2013 12:00:00")}, 
{car:"04", color:"yellow", date: Date("Sep 26, 2013 12:00:00")}, 
{car:"05", color:"purple", date: Date("Sep 27, 2013 12:00:00")}]; 

,我想:1)選擇一個項目car:"03"例如,我該怎麼辦呢?我認爲做這樣的事情,只是爲了測試,但這並沒有制定出:

$(cars).each(function(i,el) { 
    console.log($(this).car); 
}); 

; 2)這是有效的,以這種Date陣列中比較真實當前Date?例如:

var currentDate = new Date(); 
if (currentDate < Date) { ... 

謝謝!

+0

我不會使用汽車:01或汽車:02等等。數組中的每個對象都有一個鍵,所以你可以通過獲取汽車[2]來訪問car:03(因爲鍵以0開頭而不是1) – Imphusius

+0

謝謝。按照你的邏輯,試着做'console.log($(this).car [i]);'但是這也沒有解決......我使用的是「01」,「02」,「03」等不作爲索引,但作爲一個汽車號碼。它可能是陣列中的第10位,但「33」作爲旁邊的數字 – memime

回答

0

你要尋找的財產car每個對象上,並比較它的價值,您正在尋找

值還可以使用$.each()來遍歷數組或代替對象的$.fn.each()這是真的打算爲使用元素選擇

$.each(cars, function(i, el) { 
    if(el.car === '03'){ 
     console.log(el); 
    }   
}); 

有您可以像使用Array.prototype.find()其他本地陣列的方法,但我住在$.each,以保持與問題代碼的一致性

至於日期比較...是的,你可以直接比較日期對象使用<>

+0

非常感謝Charlietfl!你能告訴我,我該如何看待「汽車」的價值?例如,如果我不知道價值,我將無法比較它,所以我需要檢查它並以某種方式得到它。 – memime

+0

從哪裏拿? – charlietfl

+0

從「汽車」陣列。例如,如果由於某種原因,我不確切知道什麼是「汽車」號碼或「顏色」......我怎麼能得到這個? – memime