2017-01-02 56 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