我有一组元素组装:
timeArray = [];
$('.time_select').each(function(i, selected) {
timeArray[i] = $(selected).val();
});
Run Code Online (Sandbox Code Playgroud)
哪个.time_select是一组不同HTML选择标记的类.
我想做的是计算特定值出现的次数timeArray.奇怪的是,我还没有找到任何简洁的解决方案......当然有一种简单的方法可以做到这一点?
Ric*_*gan 11
我应该尝试使用(未充分利用)$.each()函数将其抽象为函数.
function countElement(item,array) {
var count = 0;
$.each(array, function(i,v) { if (v === item) count++; });
return count;
}
Run Code Online (Sandbox Code Playgroud)
然后你可以像这样使用它:
var a = ['foo','bar','foo'];
var b = countElement('foo',a); // should return 2
Run Code Online (Sandbox Code Playgroud)
timeArray = [];
occurs = {};
$('.time_select').each(function(i, selected) {
timeArray[i] = $(selected).val();
if (occurs[timeArray[i]] != null ) { occurs[timeArray[i]]++; }
else {occurs[timeArray[i]] = 1; }
});
Run Code Online (Sandbox Code Playgroud)