首页 > 解决方案 > 在数组中找到相反的数字

问题描述

我试图在数组中找到相反的数字。

假设我们有这个数组:[1,3,4,-3]

我想要的是:

{ '1': 1, '3': 2, '4': 1 } // as we have two 3

我尝试的是:

  const arr = [1,3,4,-3]
  let holder = {}
  arr.map(a => {
    holder[a] = (holder[a] ||0)+1
  })
      
  console.log(holder)

知道我怎样才能做到这一点吗?

标签: javascriptalgorithm

解决方案


不太确定这是否真的是您想要实现的目标。如果是这样,您可以使用reduce. 请检查:

const arr = [1, 3, 4, -3];

const obj = arr.reduce((acc, cur) => ({
  ...acc,
  [Math.abs(cur)]: (acc[Math.abs(cur)] || 0) + 1,
}), {});

console.log(obj);


推荐阅读