如何获取 javascript 数组的映射但对最后一个元素做一些不同的事情?
How do I get a map of a javascript array but do something different for last element?
获取此数组的映射但对最后一个数组索引项执行不同操作的最优雅方法是什么?
<div className="breadcrumb navigation">
{
folders.map(
x => ([
<a>{x}</a>,
<i className="breadcrumb divider"></i>,
])
)
}
</div>
我的问题是面包屑分隔符不应出现在末尾。
.map()
callback can take three arguments,项目,索引和数组。您可以使用这些来检查它是否是最后一项:
<div className="breadcrumb navigation">
{
folders.map((x, i, arr) => {
// check if it's the last item
if(i === arr.length - 1) {
return <a>{x}</a>
}
return [
<a>{x}</a>,
<i className="breadcrumb divider"></i>,
];
})
}
</div>
地图会给你索引:
folders.map((x, i) => ([
<a>{x}</a>,
i < (folders.length-1) ? <i className="breadcrumb divider"></i> : '',
])
抱歉,我缺少 reactjs 语法。可能有点偏了。
此外,所有类似的数组函数(map、reduce、filter 等)都是如此
获取此数组的映射但对最后一个数组索引项执行不同操作的最优雅方法是什么?
<div className="breadcrumb navigation">
{
folders.map(
x => ([
<a>{x}</a>,
<i className="breadcrumb divider"></i>,
])
)
}
</div>
我的问题是面包屑分隔符不应出现在末尾。
.map()
callback can take three arguments,项目,索引和数组。您可以使用这些来检查它是否是最后一项:
<div className="breadcrumb navigation">
{
folders.map((x, i, arr) => {
// check if it's the last item
if(i === arr.length - 1) {
return <a>{x}</a>
}
return [
<a>{x}</a>,
<i className="breadcrumb divider"></i>,
];
})
}
</div>
地图会给你索引:
folders.map((x, i) => ([
<a>{x}</a>,
i < (folders.length-1) ? <i className="breadcrumb divider"></i> : '',
])
抱歉,我缺少 reactjs 语法。可能有点偏了。
此外,所有类似的数组函数(map、reduce、filter 等)都是如此