在地图期间获取前一个元素的功能方法

2024-01-03

我有一个数组map超过。我需要将当前元素与前一个元素进行比较。我通过比较当前元素与前一个元素是否相同来检测id并根据这种情况做一些不同的事情。有没有一种纯粹的函数式方法可以在不进行索引数学的情况下做到这一点?

items.map((item, index) => {
    if(item.id === items[index - 1 > 0 ? index - 1 : 0].id) {
    // do something
} else {
   // do something else
 }
})

该代码有效,但我想避免对索引进行数学计算。有什么办法可以做到吗?


reduce() 函数提供了您需要的功能:

items.reduce((previousValue, currentValue) => {
  if(currentValue.id === previousValue.id) {
    // do something
  } else {
    // do something else
  }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在地图期间获取前一个元素的功能方法 的相关文章

随机推荐