2017-07-05 30 views
5

Próbuję odwzorować listę błędów na listę, która zostanie wyświetlona w podpowiedzi. Lista została dodana, ale między każdym elementem li jest dodana ,.Macierz map ES6 na ciąg bez przecinka

Domyślam się, że to dlatego, że to w zasadzie robi errors.map(error => ...).toString() na końcu. Jakieś pomysły, jak mogę odwzorować łańcuchy w tablicy errors bez dodawania tego przecinka?

data-tip = {` 
    Precisa de corrigir os seguintes problemas antes de publicar o anúncio:</br> 
    <ul> 
    ${errors.map(error => `<li>${error}</li>`)} 
    </ul> 
`} 
+0

prostu zastąpić to i zobacz: '$ {errors.map (Błąd =>

  • $ {Błąd}
  • )}' usunąć backtics z li. – Jai

    Odpowiedz

    9

    .toString() obiektu tablicy zastosowano Array.prototype.join sposób konwersji tablicy do łańcucha. Metoda .join domyślnie używa , do łączenia elementów. Możesz zamienić .toString() na .join('').

    +0

    oprócz tego posta, sprawdź także dokument ['.join()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join) doc. – KarelG

    +0

    Awansuj. Poza tym jestem z Iranu. Czy mogę mieć twoje konto Telegram? Chcę Ci coś powiedzieć. – Shafizadeh

    4

    W kodzie używasz literały szablon, który zwraca państwu ciąg i stąd kod

    ${errors.map(error => `<li>${error}</li>`)} 
    

    jest przekształcany na ciąg przy użyciu toString() funkcję, która domyślnie łączy wracającą tablicę z ,.

    Można skorzystać z przyłączenia Anly innym separatorem jak

    {` 
        Precisa de corrigir os seguintes problemas antes de publicar o anúncio:</br> 
        <ul> 
        ${errors.map(error => `<li>${error}</li>`).join(' ')} 
        </ul> 
    `} 
    
    +0

    Masz tutaj błąd. '.join ('')' powinno znajdować się wewnątrz nawiasów –

    +0

    prawda, mój błąd, nie widziałem go poprawnie –