我需要一個JavaScript函數,它能夠計算數組中唯一項的數量(即忽略重複項)。例如,計算數組中的項數,忽略重複項
var r = [car, car, bike, bike, truck]
結果應該是3而不是5.
我需要一個JavaScript函數,它能夠計算數組中唯一項的數量(即忽略重複項)。例如,計算數組中的項數,忽略重複項
var r = [car, car, bike, bike, truck]
結果應該是3而不是5.
嘗試這種情況:
var r = ['car', 'car', 'bike', 'bike', 'truck'];
var counts = [], count = 0, i = 0;
for(i=0; i<r.length; i++) {
if(counts[r[i]] == undefined) {
counts[r[i]] = 1;
count++;
}
}
console.log(count);
對於給定的陣列中,這將打印在陣列中的獨特元件的數量。
var arr = ['car', 'car', 'bike', 'bike', 'truck'],
countUniques = arr.filter(function(elem, index, self) {
return index == self.indexOf(elem);
}).length;
alert(countUniques); //will show 3
如果你希望它是appliable所有陣列:
Array.prototype.countUniques = function() {
return this.filter(function(elem, index, self) {
return index == self.indexOf(elem);
}).length;
};
用法:arr.countUniques() // 3
Array.prototype.count_unique = function() {
var arr2 = [];
for (i = this.length; i--;) {
if (arr2.indexOf(this[i]) == -1) arr2.push(this[i]);
}
return arr2.length;
}
使用
var r = ['car', 'car', 'bike', 'bike', 'truck'],
unique = r.count_unique();