这个问题在这里已有答案:
我有阵,
$servArray = [AC Service,AC Installation,AC Service, AC Installation];
所以我要打印,
AC Service = 2;
AC Installation = 2
如何打印这两个值。
提前致谢。
你可以使用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}`))
我们可以使用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);