繁体   English   中英

如何修改 Array.map 的最后一次迭代?

[英]How can I modify the last iteration of a Array.map?

目前,我有以下 map

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

它返回

element1,element2,element3,

但我需要它返回

element1,element2,element3

避免最后一个逗号。

我怎样才能以一种功能性的方式做到这一点?

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

但是,要使用 map 解决此问题,请查看传递给回调的其他 arguments:

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

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

使用join()

 const test = [ 'element1', 'element2', 'element3' ]; const asString = test.join(); console.log(asString);

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

我怎样才能以一种功能性的方式做到这一点?

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM