JavaScript 进阶营让前端飞

还在用indexOf?这有更好的替代品

2019-11-18  本文已影响0人  Indomi

最近在刷LeetCode的过程中,越来越发现ES6新增的Set/Map数据结构非常方便。于是乎,想起来平常使用indexOf,是不是有更好的替代方案呢?

利用Map数据结构实现查找也许更高效(当然也有弊端,看下文)

Map实现数组的查找

Array.prototype._indexOf = function (key) {
  const arr = this
  const idxMap = new Map()
  // 具体小细节边界判断都忽略,实现功能为主
  arr.forEach((v, i) => {
    idxMap.set(v, i)
  })
  return idxMap.has(key) ? idxMap.get(key) : -1
}

主要优点

主要缺点

结论

上一篇下一篇

猜你喜欢

热点阅读