代码之家  ›  专栏  ›  技术社区  ›  Aleix Gallet Segarra

在javascript中打印图像数组的问题

  •  0
  • Aleix Gallet Segarra  · 技术社区  · 8 年前

    我正在使用一组图像制作一个简单的图库:

    var gallery_pictures = [
        { name:'01.jpg', alt:'01'},
        { name:'02.jpg', alt:'01'},
        { name:'03.jpg', alt:'01'},
        { name:'04.jpg', alt:'01'},
        { name:'05.jpg', alt:'01'}
    ];
    

    <div style="width:1000px; margin: 0 auto;" id="gallery">
    
    </div>
    

    并使用一个使用映射将文本存储在变量中的函数:

    var gallery = gallery_pictures.map(function gallery(foto, index, array) {
        pictures = '<div style="width:190px;margin-right: 10px; float:left;"><img width="200" src="'+foto.name+'" alt="'+foto.alt+'" "></div>'
        return pictures;
    });
    

    imageGallery.innerHTML=gallery;
    

    我遇到的问题是,每张照片之间不知何故都印着一个“coma”。在此代码生成chrome:

    like in the screenshoot

    enter image description here

    2 回复  |  直到 8 年前
        1
  •  1
  •   Adnan Ahmed    8 年前

    您需要以一种没有逗号的方式连接数组。

    var gallery = "";
    gallery_pictures.forEach(function(foto){
        var pictures = '<div style="width:190px;margin-right: 10px; float:left;"><img width="200" src="'+foto.name+'" alt="'+foto.alt+'" "></div>';
        gallery += pictures;
    });
    imageGallery.innerHTML = gallery;
    
        2
  •  1
  •   Suresh Atta    8 年前

    您需要的是每个或一个正常的for循环。

    https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/map

    您将返回一个包含元素的数组。这就是你看到逗号的原因。

    推荐文章