javascript - 在 array.map 中渲染元素时删除尾随逗号
问题描述
是否有任何简单的方法可以删除以下代码段中的尾随逗号
const renderElements = () => {
if (!(data && data.length)) return [];
return data.map(({ id, name }, index) => (
<p key={id}>{`${name}${
!(index === data.length - 1) ? "," : ""
}`}</p>
));
}
return (
<div>
{renderElements()}
</div>
)
解决方案
您的代码运行良好,那么为什么还要寻找另一种编写方式呢?
但也许,您不需要手动插入逗号,只需将其留给 css:
const renderElements = () => {
if (!(data && data.length)) return [];
return data.map(({ id, name }) => (
<p key={id}>{name}</p>
));
}
return (
<div>
{renderElements()}
</div>
);
div p {
display: inline;
}
div p:not(:last-of-type)::after {
content: ',';
}
<div>
<p>Alice</p>
<p>Bob</p>
<p>Charlie</p>
<p>David</p>
</div>
推荐阅读
- ios - 当订阅者/远程用户暂时禁用互联网时,不会调用 OpenToke 重新连接代表
- google-cloud-dataproc - 如何在集群模式下运行 dataproc 集群?
- node.js - 我应该如何将关系数据保存在猫鼬中?
- javascript - 如何使用 Puppeteer 检查复选框?
- spring - Spring JMS - MessageListener 类中消息的延迟处理
- ios - iOS / Parse-server上的云功能,不起作用
- ios - 向 Apple Store 提交应用程序时的可用性选项
- spring - BCrypt(密码,BCrypt(gensalt(80))在春季启动中的日志回合
- python - Python使用多个字符拆分字符串,同时仍保留该字符
- ubuntu - Nomad 模板:创建文件夹而不是文件