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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从jquery中的数组中获取唯一元素和元素的数量[重复]相关的知识,希望对你有一定的参考价值。

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

我有阵,

$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);

以上是关于从jquery中的数组中获取唯一元素和元素的数量[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从plist中的一组元素中获取唯一元素

jquery怎么从数组移除元素

从向量数组中查找给定向量中公共元素的数量

仅从更多元素中获取唯一名称

如何获取指针数组中的元素数量?

jQuery学习手册(21)