如何统计数组中某一元素出现的次数,字符串元素出现的次数或者对象中某一属性值出现的次数呢?
对于统计数组中某一元素出现的次数,可以这样:
function arrNumber(arr){
var arr_number = {};
for(var i = 0 ; i < arr.length ; i++){
if(arr_number[arr[i]]){
arr_number[arr[i]]++
}
else{
arr_number[arr[i]] = 1 ;
}
}
return arr_number ;
}
var array = [1,3,5,3,5,3];
arrNumber(array); //输出{1: 1, 3: 3, 5: 2}
同理,统计字符串元素出现的次数:
function charNum(str){
var charObj={} //创建一个空对象
for(i=0,len=str.length;i<len;i++){
if(charObj[str[i]]){ //str[i]为key
charObj[str[i]]++; //charObj[str[i]]为value
}else{
charObj[str[i]]=1;
}
}
var strTem=""; // 临时变量
for(value in charObj){
strTem+='"'+value+'"的个数:'+charObj[value]+'\n';
}
return strTem;
}
document.write(charNum("11,23")); //"1"的个数:2 "2"的个数:1 "3"的个数:1 ","的个数:1
有没有更简单一点的方法呢?恩。。。有了,underscore中的countBy()方法可以帮我们解决这个问题。
对于统计数组元素出现的次数:
var array = [1,3,5,3,5,3];
_(array).countBy() // 输出{1: 1, 3: 3, 5: 2}
看,是不是很一步就搞定呐
对于统计字符串元素出现的次数:
var array = "12121";
_(array).countBy()); // {1: 3, 2: 2}
数组和字符串统计元素出现的次数解决了,那对象呢?如何统计对象中某属性值出现的次数呢?
如:
var user_list =
[{"name":"王五","phone":"189900971077","price":"8"},
{"name":"李四","phone":"189900971078","price":"6"},
{"name":"张三","phone":"189900971079","price":"8"}];
怎么统计价钱出现的次数呢?
如果只是为了获取价钱出现的次数,可以先把价钱单独提出为一个新数组,然后按照上面统计数组元素的方法就可以了:
提取对象中某一属性值,可以用underscore中的pluck()方法。
var price = _(user_list).pluck('price') //["8", "6", "8"]
然后对price运用countBy()方法就好了
_(price).countBy() //{6: 1, 8: 2}
可是我不仅想得到某价钱的人数,我还想知道出这个价钱有哪些人。那我该怎么办呢?。。。underscore来帮你!
_(user_list).groupBy("price")
输出结果:
{6: [{name: "李四", phone: "189900971078", price: "6"}] ,
8: [{name: "王五", phone: "189900971077", price: "8"},
{name: "张三", phone: "189900971079", price: "8"}]}
这时得到的是一个对象,key为价钱,value是此价钱对应的人员信息组成的数组。
如果我想得到价钱最低且不重复的出价人信息呢?首先当然是用sortBy()对user_list按价钱排序啦,然后用groupBy()按价钱分组,最后就是用find()方法找到value的长度为1的对象。(find()如果找到匹配的元素,函数将立即返回,不会遍历整个list。)这样连续使用多种方法,是不是需要定义很多变量呢?有没有什么方法可以简化呢?
underscore又来啦:
var lowest_price = _.chain(user_list)
.sortBy("price")
.groupBy("price")
.find(function(value){return value.length ==1 })
.value();
输出lowest_price:
[{name: "李四", phone: "189900971078", price: "6"}]
分享到:
相关推荐
` 或者使用`new String()`构造函数创建字符串对象。 2. **字符串的比较**: - 使用`equals()`方法比较两个字符串是否相等,例如,`if (str1.equals(str2))`。 3. **字符串的拼接**: - 使用加号(`+`)或`concat...
本文将根据提供的代码示例,详细解析如何在Java程序中统计一个字符串中各个字符(包括汉字)出现的次数。该方法适用于任何包含字符的字符串,无论这些字符是英文字母、数字还是汉字。 #### 代码实现细节 1. **导入...
假设我们有一个字符串,想要将其字符逐个存入数组,可以这样做: ```vb Dim str As String = "Hello, World!" Dim charArray() As Char = str.ToCharArray() ``` 这段代码首先将字符串转换为字符数组,然后将结果...
Java编程实现统计一个字符串中各个字符出现次数的方法 本文主要介绍了Java编程实现统计一个字符串中各个字符出现次数的方法,涉及java针对字符串的遍历、判断、运算等相关操作技巧。本文将通过一个实例,讲述如何...
在本例中,字符串 `"djasjdklasjdklasjaiurakczkcnss"` 被存储为一个 `String` 对象,并通过 `toCharArray()` 方法转换成字符数组 `char[] c`。这一步是将字符串拆分为单个字符的基础。 #### 集合框架 - **HashSet*...
本问题涉及的主要知识点包括字符串处理、字符数组、字符转换、排序算法以及统计重复元素。以下是对这些知识点的详细解释: 1. **字符串处理**:C++中的字符串通常用`std::string`类来表示。但在此场景下,由于字符...
在JavaScript中统计字符串中每个字符出现的次数是一个常见的编程练习题,同时也是一种实用的技术。下面将详细介绍如何使用JavaScript实现这一功能,以及相关的知识点和操作技巧。 首先,实现这一功能需要理解...
标题和描述中提到的知识点主要是在JavaScript(简称JS)中如何实现一个简单的功能,即找出一个字符串中出现次数最多的字符以及对应的出现次数。以下是对这一功能实现过程的详细说明: 首先,要实现这一功能,需要...
该方法接受一个整型数组`array`和一个整数`max`(表示数组中可能的最大元素值)作为参数,返回一个Map对象,其中包含了重复次数最多的元素值(value)及其重复次数(maxCount)。 首先,创建一个HashMap类型的`...
本知识点主要关注如何利用JavaScript编程语言实现对字符串中出现次数最多的字符及其出现次数的计算。 1. 字符串基础概念:在JavaScript中,字符串是由16位无符号整数(UTF-16)序列构成的数据类型,可以表示文本...
### 使用Python一行代码...通过上述方法,我们可以非常方便地使用一行Python代码来统计数组(或列表)中特定元素的出现次数。这些方法不仅简单易用,而且效率较高,非常适合于实际开发中的快速原型设计和数据处理任务。
在Java编程中,统计字符串中出现次数最多的字符及其出现次数是一项常见的任务,尤其在数据处理和文本分析领域。本问题的解决方案使用了多种Java集合框架类,包括`TreeSet`、`ArrayList`、`HashMap`和`StringBuffer`...
上述函数会返回一个对象,键是数组中的元素,值是它们出现的次数。 再者,计算字符串中某个字母出现的次数。这可以通过遍历字符串,然后使用条件判断来完成。以下是一个例子: ```javascript function ...
VB提供了多种优化策略,例如使用`StringBuilder`类(在.NET框架中)来构建和修改字符串,避免频繁的字符串对象创建。此外,适当使用循环和条件判断可以减少不必要的计算。 5. **源码示例** 虽然具体的源码没有提供...
实验中要求统计字符串中每个字符的出现次数,这需要用到字符串的遍历和字符计数。可以使用`charAt()`方法获取指定位置的字符,以及`length()`方法获取字符串长度,再配合循环进行计数。 3. **枚举**:枚举是Java中...
在统计jQuery中各字符串出现次数的工具中,JavaScript的正则表达式是不可或缺的一部分。通过正则表达式可以实现对字符串的灵活匹配。在这个工具的实现中,使用正则表达式来构建一个用于匹配字符串的正则对象(RegExp...
在JavaScript编程语言中,我们经常需要处理字符串,其中包括查找某个字符在字符串中出现的次数。本文将详细介绍两种常用的方法来实现这一功能。 1. **通过分割获取长度** 这个方法利用JavaScript的`split()`函数...
在编程领域,统计一个字符串中出现次数最多的字符是一项常见的任务,尤其在数据分析和文本处理中。下面我们将详细探讨三种不同的方法来实现这个功能,分别基于循环遍历、使用哈希表以及利用Python的内置函数。 1. *...