【问题标题】:How do I get a map of a javascript array but do something different for last element?如何获取 javascript 数组的映射但对最后一个元素执行不同的操作?
【发布时间】:2025-12-27 06:50:07
【问题描述】:

获取此数组的映射但对最后一个数组索引项执行不同操作的最优雅的方法是什么?

<div className="breadcrumb navigation">
   {
      folders.map(
         x => ([
            <a>{x}</a>,
            <i className="breadcrumb divider"></i>,
         ])
      )
   }
</div>

我的问题是面包屑分隔线不应该出现在最后。

【问题讨论】:

    标签: javascript dictionary reactjs jsx


    【解决方案1】:

    地图会给你索引:

    folders.map((x, i) => ([
        <a>{x}</a>,
        i < (folders.length-1) ? <i className="breadcrumb divider"></i> : '',
    ])
    

    对不起,我缺少 reactjs 语法。可能有点偏了。

    此外,所有类似的数组函数(map、reduce、filter 等)都是如此

    【讨论】:

      【解决方案2】:

      .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>
      

      【讨论】:

        最近更新 更多