可能重复:
计算 Javascript 数组元素的出现次数
我在 javascript 中有一个数组,例如该数组是:
array(1,1,1,1,5,5,7,7);
如果有人可以帮助我了解如何计算相似值,以及如何加入相似值,谢谢大家,祝你有美好的一天。
可能重复:
计算 Javascript 数组元素的出现次数
我在 javascript 中有一个数组,例如该数组是:
array(1,1,1,1,5,5,7,7);
如果有人可以帮助我了解如何计算相似值,以及如何加入相似值,谢谢大家,祝你有美好的一天。
var array = [1,1,1,1,5,5,7,7];
var count = 0;
var tempArray = array.sort();
var i;
var prevValue = null;
var joined = [];
for (i = 0; i < array.length; i++) {
if (tempArray[i] != prevValue) {
count++;
prevValue = tempArray[i];
joined.push(prevValue);
}
}
document.write(joined);
我可以建议使用underscore.js。您要查找的代码并不难编写,并且会是一次很好的学习体验。一旦你这样做了,underscore 是一个很棒的便利库,它提供你正在寻找的东西,你不必维护它。:)
如果您希望唯一标识数组内容:
Array.prototype.unique =
function() {
var a = [];
var l = this.length;
for(var i=0; i<l; i++) {
for(var j=i+1; j<l; j++) {
// If this[i] is found later in the array
if (this[i] === this[j])
j = ++i;
}
a.push(this[i]);
}
return a;
};
var myArray = [1,1,1,1,5,5,7,7];
var uniquedMyArray = myArray.unique();
var valueCountsMyArray = [];
for (var i = 0; i < myArray.length; i++) {
if (valueCountsMyArray[myArray[i]])
valueCountsMyArray[myArray[i]]++;
else
valueCountsMyArray[myArray[i]] = 1;
}
这里有一个解决方案来计算它包含一个数字的次数。
var count = [];
for(var i=0; i<array.length; i++) {
count[array[i]]++;
}