Javascript 使用jquery检查数组中的项目计数

Javascript 使用jquery检查数组中的项目计数,javascript,jquery,arrays,function,Javascript,Jquery,Arrays,Function,我正在跟踪这件事,以找出发生的原因 数组中每个项的。 如果任何项目发生超过或等于3次,则我必须显示警报 以下是我尝试过的代码: var countries = ['India', 'Australia', 'Bangladesh', 'India', 'India', 'New Zealand', 'New Zealand', 'Pakistan', 'Pakistan', 'West Indies']; var recipientsArray = countries.sort(); v

我正在跟踪这件事,以找出发生的原因 数组中每个项的。 如果任何项目发生超过或等于3次,则我必须显示警报

以下是我尝试过的代码:

var countries = ['India', 'Australia', 'Bangladesh', 'India', 'India',
  'New Zealand', 'New Zealand', 'Pakistan', 'Pakistan', 'West Indies'];

var recipientsArray = countries.sort();

var reportRecipientsDuplicate = [];
for (var i = 0; i < recipientsArray.length; ++i) {
  if (!reportRecipientsDuplicate[recipientsArray[i]]) {
    reportRecipientsDuplicate[recipientsArray[i]] = 0;
  }
  ++reportRecipientsDuplicate[recipientsArray[i]];
}
var国家=[“印度”、“澳大利亚”、“孟加拉国”、“印度”、“印度”,
“新西兰”、“新西兰”、“巴基斯坦”、“巴基斯坦”、“西印度群岛”];
var recipientsArray=countries.sort();
var reportRecipientsDuplicate=[];
对于(变量i=0;i

如何检查任何项目是否发生超过或等于3次?谢谢

您可以使用
reduce
方法来轻松解决此问题
reduce
方法通过应用提供的回调函数创建一个新数组或对象

reduce()
方法对累加器和 数组中的每个元素(从左到右)将其缩减为 单一值

var国家=[“印度”、“澳大利亚”、“孟加拉国”、“印度”、“印度”、“新西兰”、“新西兰”、“巴基斯坦”、“巴基斯坦”、“西印度群岛];
var统计=国家/地区。减少(功能(obj,elem){
obj[elem]=obj[elem]| | 0;
obj[elem]++;
返回obj;
},{});
(统计中的国家){
如果(统计数字[国家]>=3)
控制台日志(国家);

}
您可以使用
reduce
方法来轻松解决此问题
reduce
方法通过应用提供的回调函数创建一个新数组或对象

reduce()
方法对累加器和 数组中的每个元素(从左到右)将其缩减为 单一值

var国家=[“印度”、“澳大利亚”、“孟加拉国”、“印度”、“印度”、“新西兰”、“新西兰”、“巴基斯坦”、“巴基斯坦”、“西印度群岛];
var统计=国家/地区。减少(功能(obj,elem){
obj[elem]=obj[elem]| | 0;
obj[elem]++;
返回obj;
},{});
(统计中的国家){
如果(统计数字[国家]>=3)
控制台日志(国家);
}
const数组=[“印度”、“澳大利亚”、“孟加拉国”、“印度”、“印度”、“新西兰”、“新西兰”、“巴基斯坦”、“巴基斯坦”、“西印度群岛];
_.each(q.uniq(q.filter)数组,函数(v){
返回过滤器(数组,函数(v1){
返回v1==v;
}).长度>2;
})),功能(i){
控制台日志(i);
});
const数组=[“印度”、“澳大利亚”、“孟加拉国”、“印度”、“印度”、“新西兰”、“新西兰”、“巴基斯坦”、“巴基斯坦”、“西印度群岛];
_.each(q.uniq(q.filter)数组,函数(v){
返回过滤器(数组,函数(v1){
返回v1==v;
}).长度>2;
})),功能(i){
控制台日志(i);
});
尝试以下代码:

var countries = ["India" , "Australia" , "Bangladesh" , "India" , "India" , "New Zealand" , "New Zealand" , "Pakistan" , "Pakistan" , "West Indies","New Zealand"];

var recipientsArray = countries.sort(); 
checkedWords = [];

for (var i = 0; i < recipientsArray.length; ++i) {
    var count = 0;

  for(var j=i;j<recipientsArray.length;j++){
    if(checkedWords.indexOf(recipientsArray[i]) > -1){
        continue;
    }
    if(recipientsArray[i] == recipientsArray[j]){
        count = count+1;
    }
  }
  console.log(count);
  if(count >= 3){
    alert(recipientsArray[i]);
  }
  checkedWords.push(recipientsArray[i]);
}
var国家=[“印度”、“澳大利亚”、“孟加拉国”、“印度”、“印度”、“新西兰”、“新西兰”、“巴基斯坦”、“巴基斯坦”、“西印度群岛”、“新西兰”];
var recipientsArray=countries.sort();
校验字=[];
对于(变量i=0;i=3){
警报(接收者警报[i]);
}
勾选词。推送(接受者搜索[i]);
}

我希望这能回答您的问题:)

请尝试以下代码:

var countries = ["India" , "Australia" , "Bangladesh" , "India" , "India" , "New Zealand" , "New Zealand" , "Pakistan" , "Pakistan" , "West Indies","New Zealand"];

var recipientsArray = countries.sort(); 
checkedWords = [];

for (var i = 0; i < recipientsArray.length; ++i) {
    var count = 0;

  for(var j=i;j<recipientsArray.length;j++){
    if(checkedWords.indexOf(recipientsArray[i]) > -1){
        continue;
    }
    if(recipientsArray[i] == recipientsArray[j]){
        count = count+1;
    }
  }
  console.log(count);
  if(count >= 3){
    alert(recipientsArray[i]);
  }
  checkedWords.push(recipientsArray[i]);
}
var国家=[“印度”、“澳大利亚”、“孟加拉国”、“印度”、“印度”、“新西兰”、“新西兰”、“巴基斯坦”、“巴基斯坦”、“西印度群岛”、“新西兰”];
var recipientsArray=countries.sort();
校验字=[];
对于(变量i=0;i=3){
警报(接收者警报[i]);
}
勾选词。推送(接受者搜索[i]);
}


我希望这能回答您的问题:)

var countries=..
只要在数组中循环
reportRecipientsDuplicate
并在遇到大于或等于3的数字时提醒消息。数组是使用(方括号)[]定义的。请编辑您的代码。
var countries=..
只要在数组中循环
reportRecipientsDuplicate
并在遇到大于或等于3的数字时提醒消息。数组是使用(方括号)[]定义的。请编辑您的代码。