检查它是否是map()函数中数组的最后一个元素

时间:2017-06-20 10:14:08

标签: javascript html

我有一个字符串数组,我想在不同的行上打印它们。

我正在使用<hr />但是因为它现在在我的代码中,它将在最后一个字符串之后放置另一个中断,这是我想要避免的事实。有什么想法吗?

这是我的代码:

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

4 个答案:

答案 0 :(得分:8)

您可以通过检查是否存在下一个元素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 :(得分:2)

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

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

答案 2 :(得分:2)

将它们包裹在pragraph中,而不是跨越

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

答案 3 :(得分:0)

您只需要检查迭代的indexif(index < (myArray.length-1))

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