我想输出一个逗号分隔链接的列表,这是我的解决方案.
@H_502_1@var Item = React.createComponent({
render: function() {
var tags = [],tag;
for (var i = 0,l = item.tags.length; i < l; i++) {
if (i === item.tags.length - 1) {
tag = <span><Tag key={i} tag={item.tags[i]} /></span>;
} else {
tag = <span><Tag key={i} tag={item.tags[i]} /><span>,</span></span>;
}
tags.push(tag);
}
return (
<tr>
<td>
{item.name}
</td>
<td>
{tags}
</td>
</tr>
);
}
});
我只是想知道是否有更好的,更干净的方式来完成这个?
谢谢
在汗学院,我们使用一个叫做intersperse的帮手:
@H_502_1@/* intersperse: Return an array with the separator interspersed between
* each element of the input array.
*
* > _([1,2,3]).intersperse(0)
* [1,3]
*/
function intersperse(arr,sep) {
if (arr.length === 0) {
return [];
}
return arr.slice(1).reduce(function(xs,x,i) {
return xs.concat([sep,x]);
},[arr[0]]);
}
原文链接:https://www.f2er.com/react/301174.html它允许您编写如下代码:
@H_502_1@var tags = item.tags.map(function(tag,i) { return <Tag key={i} tag={item.tags[i]} />; }; tags = intersperse(tags,",");