本文介绍了呈现以逗号分隔的链接列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试输出以逗号分隔的链接列表,这是我的解决方案.
I'm trying to output a list of comma separated links and this is my solution.
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>
);
}
});
我只是想知道是否有更好、更干净的方法来实现这一目标?
I was just wondering if there was a better, more clean way to accomplish this?
谢谢
推荐答案
在可汗学院,我们为此使用了一个名为 intersperse
的助手:
At Khan Academy we use a helper called intersperse
for this:
/* intersperse: Return an array with the separator interspersed between
* each element of the input array.
*
* > _([1,2,3]).intersperse(0)
* [1,0,2,0,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]]);
}
它允许您编写如下代码:
which allows you to write code like:
var tags = item.tags.map(function(tag, i) {
return <Tag key={i} tag={item.tags[i]} />;
};
tags = intersperse(tags, ", ");
这篇关于呈现以逗号分隔的链接列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!