比如b[i]=num,表示i出现了num次。
实现的代码也很简单。
//初始化数组b全部为0
for(i=0; i<n; i++)
{
b[a[i]]++;
}
这样就可以了,直接找数组b中的最大值,就是出现次数,下表为出现的值。
一种高效算法的大概思想:
设置一个循环用来遍历数组,一个慢一步,,一个快一步,当到了数组末尾或者快的与慢的下标对应的元素相等就退出,,退出循环后再检测“快的与慢的下标对应的元素相等”这一条件,如果是就说明有重复元素。否则没有。
方法一:
var ary = new Array("111","22","33","111");
var s = aryjoin(",")+",";
for(var i=0;i<arylength;i++) {
if(sreplace(ary[i]+",","")indexOf(ary[i]+",")>-1) {
alert("数组中有重复元素:" + ary[i]);
break;外语屋
}
}
方法二:
var ary = new Array("111","22","33","111");
var nary=arysort();
for(var i=0;i<arylength;i++){
if (nary[i]==nary[i+1]){
alert("数组重复内容:"+nary[i]);
}
}
方法三:
function isRepeat(arr){
var hash = {};
for(var i in arr) {
if(hash[arr[i]])
return true;
hash[arr[i]] = true;
}
return false;
}
<html>
<head>
<meta >
使用array_count_values函数可以找出数组中相同值出现的次数,array_count_values用法如下:
array_count_values — 统计数组中所有的值出现的次数
array array_count_values ( array $input)
array_count_values() 返回一个数组,该数组用 input 数组中的值作为键名,该值在:input 数组中出现的次数作为值
input:统计这个数组的值
返回值:
返回一个关联数组,用 input数组中的值作为键名,该值在数组中出现的次数作为值。
示例:
<php$array = array(1, "hello", 1, "world", "hello");
print_r(array_count_values($array));
>
以上例程会输出:
Array(
[1] => 2
[hello] => 2
[world] => 1
)
需要取出哪个值的次数,就在返回的数组中获取对应的key值即可,例如示例中array_count_values($array)['hello']就可以取出数组中hello的个数。
//可以再froeach中写一个if判断,将id为2的na值压入$arr数组如:
foreach($array $key => $value){
if($value['id']==2){
$arr = $value['na'];
}
}
这种方法应该能满足你的需求了吧
以上就是关于数组中查询重复了n次的值有哪些全部的内容,包括:数组中查询重复了n次的值有哪些、判读数组中是否有重复的值、js 判断数组中是否有重复值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)