2017-06-20 50 views
2

裏的數組中最後一個元素我有一個字符串數組,我想將它們打印在不同的線路。檢查它是否在map()函數

我爲此使用了<hr />,但因爲它現在在我的代碼中,它會在最後一個字符串之後再放一箇中斷,這是我想要避免的事實。有任何想法嗎?

這是我的代碼:

return myArray.map((text, index) => (
    <span key={index}> 
     {myArray[index]} 
     {<hr />} 
    </span> 
)); 

回答

6

您可以檢查其通過檢查最後一個元素,如果有下一個是元件arr[i + 1]

var arr = ['a', 'b', 'c'] 
 
var html = arr.map(function(e, i) { 
 
    return `<span key="${i}">${e}</span>${arr[i+1] ? '<hr>' : ''}` 
 
}) 
 

 
document.body.innerHTML += html.join('')

+1

我有一個小的改進:' gus27

+0

@ gus27是的,謝謝。 –

2
myArray.map((text, index, {length}) => (
    /* ... your code ... */ 
    if(index + 1 === length){ //last element 

    } 
)); 
//{length} === myArray.length; third argument is an array 
0

你只需要檢查在迭代indexif(index < (myArray.length-1))

return myArray.map((text, index) => (
    <span key={index}> 
     {myArray[index]} 
     if(index < (myArray.length-1)) 
      {<hr />} 
    </span> 
)); 
2

總結他們在pragraph而不是一個跨度

return myArray.map((text, index) => (
    <p key={index}> 
     {text} 
    </p> 
)); 
+0

這是一個相當簡單和直接的解決方案,但我也需要


標籤。或者看起來像字符串之間的水平線 –

+0

你可以添加一些CSS嗎? –