jquery每个map数组都不打印所有内容

时间:2012-11-05 17:12:59

标签: javascript jquery html css

我将这两个对象用作键/值映射。第一张地图包含两个不同的日期,我将在稍后比较,另一个地图包含一个链接和一个图像,

var estelaresfechas = {
    '2012-01-02': '2012-12-02',
    '2012-01-02': '2012-12-02',
    '2012-01-02': '2012-12-02'
}
//Link e imagen
var est_link_img = {
    '' : 'estelarAticulosEscolares_03082012.jpg',
    'google.com' : 'estelarCuadernoProfesional_03082012.jpg',
    '' : 'estelarLaptop_03082012.jpg'
}

$.each(estelaresfechas,function(key,val){

                $.each(est_link_img,function(index,value){
                    var fechainiest = Date.parse(key);
                     var fechafinalest = Date.parse(val);
                     var fechainicomest = Date.today().compareTo(fechainiest);
                     var fechafinest = Date.today().compareTo(fechafinalest);
                    if(fechainicomest == 1 && fechafinest == -1){


                        $("#slider").append("<a href='"+ index +"'><img src='img/" + value+ "'/></a>");

                    }
                    else{
                        console.log("nada")
                    }
                });




    })

它首先做的是它比较日期,如果日期在范围内,它会将它附加到带有链接和图像的div(链接是可选的),但由于某种原因它不打印第一个。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这两个对象都包含重复的键:

var estelaresfechas = {
    '2012-01-02': '2012-12-02',
    '2012-01-02': '2012-12-02',
    '2012-01-02': '2012-12-02'
}

var est_link_img = {
    '' : 'estelarAticulosEscolares_03082012.jpg',
    'google.com' : 'estelarCuadernoProfesional_03082012.jpg',
    '' : 'estelarLaptop_03082012.jpg'
}

当您指定相同的密钥时,最后一个密钥胜出。

简化,写这个......

{ 
   "a": "1",
   "a": "2",
   "a": "3"
}

......相当于写这个:

{ "a": "3" }

您需要为密钥选择唯一的名称。