2017-11-10 14 views
0

hereからいくつかの宝くじ結果をレンダリングしようとしています。 私は、すべてのデータがうまくなって、このようなページをレンダリングするためにwinning_numbers、mega_ball、及び乗算値を結合したいのです:JavaScript Array.map()がDOMにコンマを追加します

image

代わりに私が取得していますどのような数字ですが、カンマでだけでなく、これが示しようにDOMにレンダリング:コンソールで

image

const url = 'https://data.ny.gov/resource/h6w8-42p9.json'; 

$.get(url, (data) => { 
// Deconstruct Array Data 
[latest, one, two, three] = data; 

const pastResults = [one, two, three] 

// Removed A Block of CODE for StackOverflow dealing with latest result since it works fine. 

pastResults.map(num => { 

    const numsArray = num.winning_numbers.split(" "); 
    numsArray.push(num.mega_ball); 
    numsArray.push("x" + num.multiplier.split("")[1]); 
    console.log(numsArray); 

    pastResultsBlock.append(` 
    <div class="col-12"> 
     <div class="animated flipInY past-result-item box-shadow"> 
     <div class="past-result-date">${moment(num.draw_date).format("MMM Do")}</div> 
     <div class="past-result-numbers"> 
      ${numsArray.map(number => `<span>${number}</span>`)} 
     </div> 
     </div> 
    </div> 
    `) 
    }) 

}) 

配列だけで正常に見えます。 DOMのレンダリング時には、毎回 "、"カンマが付きます。

ご意見やご感想をいただければ幸いです。

ここにはJSFiddleリンクがあります。 JSFiddle

+0

コードにコンマが挿入されているものはありません。 CSSで宣言された ':before'や':after''疑似要素がありませんでしたか? – fubar

+1

@fubarコードは、 '.map'から返された配列の' toString'を呼び出して、カンマを導入しています。 –

+0

@Derek朕會功夫 - 知っておいて、歓声。 – fubar

答えて

4

デフォルトのArray::toStringメソッドに頼るのではなく、明示的にそれらを単に結合するだけです。

// Change 
`...${numsArray.map(number => `<span>${number}</span>`)}...` 
// to 
`...${numsArray.map(number => `<span>${number}</span>`).join("")}...` 
+0

ありがとう! – SavSamoylov

+0

@SavSamoylovあなたの問題を解決する場合は、この質問を受け入れることができます。 –

+0

私は最初の5分以内にそれをやらせていませんでした。もう一度、ありがとう。 – SavSamoylov

関連する問題