数组对象根据某个属性取出重复的个数

1.对数组对象,根据某个对象计算重复的个数

例如:

getData() {
  let arrData = [{
    ‘a‘: ‘你‘,
    ‘b‘: ‘1‘,
    ‘c‘: ‘他‘
  }, {
    ‘a‘: ‘他‘,
    ‘b‘: ‘2‘,
    ‘c‘: "它"
  }, {
    ‘a‘: ‘你‘,
    ‘b‘: ‘3‘,
    ‘c‘: "它"
  }, {
    ‘a‘: ‘他‘,
    ‘b‘: ‘4‘,
    ‘c‘: "它"
  }, {
    ‘a‘: ‘它‘,
    ‘b‘: ‘5‘,
    ‘c‘: "它"
  }]
  this.getWordCnt(arr)
},

计算函数

// 根据等级数据计算重复的个数
getWordCnt (arr) {
  let arrData = arr
  let obj = {}
  for (let i = 0; i < arrData.length; i++) {
    var item = arrData[i].a // a为计算的属性,可换成b,c
    obj[item] = (obj[item] + 1) || 1
  }
  console.log(obj)
  return obj
},

打印结果

原文地址:https://www.cnblogs.com/wgl0126/p/11596956.html

时间: 2024-11-13 14:35:42

数组对象根据某个属性取出重复的个数的相关文章

vue 数组对象取对象的属性: Cannot read property &#39;xxxx&#39; of undefined

{{ list[0].name }} list[0]没有定义 能正确打印出想要的结果,但就是报错,外面套个v-for就没错了 很费解 与异步有关,解决办法: <template v-if=list[0]> {{ list[0].name }} </template> https://www.v2ex.com/amp/t/402145 vue 数组对象取对象的属性: Cannot read property 'xxxx' of undefined 原文地址:https://www.c

对数组对象按某些属性排序方法

要排序的对象是一个联系人类,如下定义: @interface Person : NSObject @property (nonatomic, copy) NSString *name; @property (nonatomic, copy) NSString *surname; @property (nonatomic, strong) NSDate *dateOfBirth; @end 而数组中包含如下内容: Smith John 03/01/1984 Andersen Jane 16/03/

JS的数据类型判断函数、数组对象结构处理、日期转换函数,浏览器类型判断函数合集

工具地址:https://github.com/BothEyes1993/bes-jstools bes-jstools 100多个基础常用JS函数和各种数据转换处理集合大全,此工具包是在 outils 的基础上,加上个人平时收集的代码片段进行的二次整合 Browser Support 7+ ? Latest ? Latest ? Latest ? Latest ? 6.1+ ? Installing npm install bes-jstools --save Using nodejs con

js中的数组/对象(阮一峰的js基础教程)

//打印出键值1 Object.keys(array1) 2 ["0", "1", "2", "3", "4", "5"] Object.keys方法返回数组的所有键名.js规定:对象的键名一律为字符串,所以,数组的键名其实也是字符串.之所以可以用数值读取,是因为非字符串的键名会被转为字符串. arr.0的写法不合法,因为单独的数值不能作为标识符(identifier).所以,数组成员只

vue数组对象修改触发视图更新

直接修改数组元素是无法触发视图更新的,如 this.array[0] = { name: 'meng', age: 22 } 修改array的length也无法触发视图更新,如 this.array.length = 2; 触发视图更新的方法有如下几种 1. Vue.set 可以设置对象或数组的值,通过key或数组索引,可以触发视图更新 数组修改 Vue.set(array, indexOfItem, newValue) this.array.$set(indexOfItem, newValue

JS中 对象数组按某一属性去重 校验是否有重复数据

新任务: 下拉框出去重复数据 //前端对象数组 按某个属性去重 其中jsonArray 是你要去重的对象数组 示例中  按name属性去重 //前端对象数组 按某个属性去重 var obj = {}; jsonArray = jsonArray.reduce(function(item,next){ obj[next.name]?'':obj[next.name] = true&&item.push(next); return item; },[]); for(var i= 0;i<

数组与字符串的相互转化及数组对象的3个属性

一.数组与字符串的相互转化 <script>var obj="new1".replace(/(.)(?=[^$])/g,"$1,").split(",");       //字符串转化为数组 var obj2 = "new2".split("");                                            //字符串转化为数组alert(obj);alert(obj.

2、函数内部属性 arguments是类数组对象,主要用途是保存函数参数,但这个对象中有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数

例如:(1).function factorial(num){ if(num<=1){ return 1; }else{ return num*factorial(num-1); } }//此时是递归算法 var trueFactorial=factorial;//将factorial复制给trueFactorial factorial=function(){ return 0; }//覆盖factorial函数 alert(trueFactorial(5));//0;因为辞职factorial

js数组对象以及数组常用属性和方法

定义形式: var  arr1 = new Array(1,  5,  8,  7,  2,  10);  //定义了一个数组,其中具有6个数据 var  arr2 = new Array();                   //只是单纯地定义了一个数组(名),但没有给值(数据),即现在是空的 var  arr3 = [1,  5,  8,  7,  2,  10];  //同arr1,只是一种简写的定义法. var  arr4 = [ ];                  //同arr