###実現したいこと
jqueryで配列にpush
すると、なぜかカンマが入ってしまう問題を解決したいです。
###発生している問題
arr
という配列のpass
というキーに、画像のURL
かnothing
が配列で入っていて、それらを<li>
として出力しています。
しかしそれをcreate_list( state, img_list_arr ){}
という関数で出力すると、出力される<li>
の間にカンマが入って出力されるのです。
###該当のソースコード
こちらをご覧いただくと早いかと思います。
この変なカンマをなくしたいです。
https://jsfiddle.net/7rzj1g25/
そのソースコードは下記になります。
jquery
1 2 // 出力リストを作る 3 function create_list( state, img_list_arr ){ 4 list = ` 5 <li class="${state}"> 6 <ul>${img_list_arr}</ul> 7 </li> 8 `; 9 return list; 10 } 11 12 // 出力リストのデータ 13 const arr = [ 14 { 15 state: 'open', 16 pass: ['thumb/RED19428E011_TP_V.jpg','nothing'] 17 }, 18 { 19 state: 'close', 20 pass: ['nothing','thumb/058Kazukiya17103_TP_V1.jpg'] 21 } 22 ]; 23 24 // 出力リストにデータを入れる 25 function output( arr ) { 26 let result = []; 27 for(key in arr){ 28 const state = arr[key].state; 29 const pass_arr = arr[key].pass; 30 let img_list_arr = []; 31 $.each(pass_arr, function(i, v) { 32 if( v=='nothing' ){ 33 img_list_arr.push('<li>nothing</li>'); 34 } 35 else{ 36 img_list_arr.push('<li><img src="https://www.pakutaso.com/shared/img/'+v+'"></li>'); 37 } 38 }); 39 result.push( create_list( state, img_list_arr ) ); 40 } 41 return result; 42 } 43 44 // リストを出力 45 $('div').html( output(arr) ); 46 47
###試したこと
カンマが入っているなら削除しようと思い、
const pass_arr = arr[key].pass;
を
const pass_arr = arr[key].pass.split(',');
としてみたのですが効果なしでした。
また、create_list( state, img_list_arr ){}
の中でimg_list_arr
を作っても効果なしです。
どうしたらカンマを消すことができるでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/22 15:59
2019/05/22 16:04
2019/05/22 16:09