如何在使用javascript map()时跳过某些元素

use*_*276 2 javascript reactjs

我目前有这段代码来分割字符串并将其显示为列表.

<span className="reply">{this.props.message.split("\n").map((chunk) => {
    return <span className="message-chunk">{chunk}<br /></span>
})}
Run Code Online (Sandbox Code Playgroud)

我想跳过split数组中的第一个和最后一个元素,因为字符串是表单.

Heading\n
List Item\n
List Item\n
List Item\n
Ending\n
Run Code Online (Sandbox Code Playgroud)

有没有办法在使用map函数时执行此操作.我filter()在另一个相关问题中看到了这个功能,但我认为这不适用于此.任何帮助表示赞赏.

win*_*wes 7

一种选择是在映射之前对数组进行切片,因此在您的情况下,它将是:

this.props.message.split("\n").slice(1, -1).map((chunk) => {
    return <span className="message-chunk">{chunk}<br /></span>
})
Run Code Online (Sandbox Code Playgroud)

请注意,这将从数组中删除第一个和最后一个元素.如果你打算不修改第一个或最后一个元素,我推荐@ vlaz的答案:)