2017-02-20 103 views
0

我想从所有阵列数据制作一个动态URL。 现在我来到这个部分,我不知道如何解决这个问题。 你能帮忙吗?JS - 从所有阵列数据制作动态URL(阵列长度不固定)

//Get image 
    function get_image(img_arg){ 

     var length = img_arg.length; 

     for (x = 0; x < length; x++){ 

      //I would like to make url like this: 
      //var url = img_arg[0] + '-' + img_arg[1] + '-' + img_arg[2]...till the max; 
     } 


     console.log(url); 
    } 

谢谢!

回答

1

在您的阵列上使用join()函数并通过-作为参数。它将所有项目与传递的参数连接起来并返回一个字符串。

举个例子,你可以看到

var img_arr = [1,2,3,4,5,6,7,8,9]; 
 
var arr = img_arr.join('-'); 
 

 
console.log(arr);

+0

谢谢你,这是我一直在寻找的答案。 –

1

只是增加一点点代码:

//Get image 
function get_image(img_arg) { 
    var img_url = ""; 

    for(x=0; x<img_arg.length; x++) { 
     img_url += img_arg[x] + '-'; 
    } 

    img_url = img_url.substring(0, img_url.length-1); 
    console.log(img_url); 
} 
+0

如果我使用切片而不是丢失数组的第一个字母而不是最后一个。因此,我尝试过这样,它的工作原理:function get_image(img_arg){ \t \t \t console.log(img_arg); \t \t var img_url =“”; \t \t为(X = 0; X

+0

是的,你是对的,改变了答案。 – SsJVasto

+0

@BotićDenis你的解决方案可行,但我个人而言,宁愿“在最后修剪最后一个字符”,而不是“测试它是否是每次迭代中的最后一个项目”......在这种情况下,您正在评估'img_arg。长度'额外的条件,而不是只有1个调用substring()... 如果您的img_arg有成千上万的项目,它可能会导致浏览器缓慢。 – SsJVasto