从jquery中的数组中获取唯一元素和元素的数量[重复]

问题描述 投票:-1回答:2

这个问题在这里已有答案:

我有阵,

$servArray = [AC Service,AC Installation,AC Service, AC Installation];

所以我要打印,

AC Service = 2;
AC Installation = 2

如何打印这两个值。

提前致谢。

javascript jquery
2个回答
1
投票

你可以使用reduce()。使用一个对象作为累加器,它将数组项作为键和值作为计数。然后在forEach()上使用Object.entrries来迭代它们的键和值。

const $servArray = ['AC Service','AC Installation','AC Service', 'AC Installation'];

const getCount = (arr) => arr.reduce((ac,a) => {
  ac[a] = ac[a] + 1 || 1;
  return ac;
},{})

const res = getCount($servArray)

Object.entries(res).forEach(([key,value]) => console.log(`${key} = ${value}`))

0
投票

我们可以使用es6 map函数并迭代数组并在声明的对象中分配预期的结果。

const $servArray = ['AC Service','AC Installation','AC Service', 'AC Installation'];
const counts = {};
$servArray.map(x => counts[x] = (counts[x] || 0)+1);
console.log(counts);