2017-02-20 5 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を評価しています。 substring()を1回呼び出すのではなく、長さの余分な条件... img_argに何千もの項目があると、ブラウザが遅くなる可能性があります。 – SsJVasto

関連する問題