【问题标题】:How can I modify the last iteration of a Array.map?如何修改 Array.map 的最后一次迭代?
【发布时间】:2021-05-11 09:59:48
【问题描述】:

目前,我有以下地图

Array.map(i => `${i},`)

返回

element1,element2,element3,

但我需要它返回

element1,element2,element3

避免最后一个逗号。

我怎样才能以实用的方式做到这一点?

【问题讨论】:

  • 为什么不直接.join()
  • 你想要的输出是字符串还是数组?

标签: javascript arrays join tostring


【解决方案1】:

使用join():

const test = [ 'element1', 'element2', 'element3' ];

const asString = test.join();
console.log(asString);

Notejoin() 的默认分隔符是逗号 (,)
您可以指定其他分隔符作为第一个参数,例如:join('-')

【讨论】:

【解决方案2】:

解决这个特定问题的更好方法可能是使用join 而不是map

但是,要使用 map 解决这个问题,请查看传递给回调的其他参数:

map((element, index, array) => { ... } )

您可以使用index === array.length - 1 确定您是否在最后一个元素上

【讨论】:

    【解决方案3】:

    我怎样才能以实用的方式做到这一点?

    console.log(
        ['a', 'b', 'c', 'd'].reduce((x, y) => `${x},${y}`)
    )

    【讨论】:

      【解决方案4】:

      您也可以像这样使用.toString().join()

      const arr = [ 'element1', 'element2', 'element3' ];
      console.log(arr.toString());
      console.log(arr.join()); // The same as console.log(arr.join(','));

      toString() 方法返回一个包含所有数组值的字符串, 用逗号分隔

      join() 方法将数组作为字符串返回。 元素将由指定的分隔符分隔。 默认 分隔符是逗号 (,)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-18
        相关资源
        最近更新 更多