首页 > 代码库 > javascript 数组扩展实现 php array_count_values() 函数功能

javascript 数组扩展实现 php array_count_values() 函数功能

在PHP中,array_count_values() 这个函数可以统计数组元素出现的次数,这个函数会返回一个数组,键名是原数组的值,键值是这个值出现的次数。

但是JavaScript中没有这样的函数。不过大神无数,前些日子发现这样的一个扩展:

/**javascript 数组扩展实现 php array_count_values() 函数功能*/(function(window){    if ( window.ActiveXObject ) {        window.Array.prototype.indexOf = function(item){            for( var i = 0; i < this.length; i++ ) {                if ( this[i] === item ) return i;            }            return -1;        }    }    window.Array.prototype.countValues = function() {        var keys = [];        var values = {};               for( var i = 0; i < this.length; i++ ) {            if ( keys.indexOf( this[i] ) != -1 ) {                values[this[i]] += 1;            } else {                keys.push( this[i] );                values[this[i]] = 1;            }        }               return values;    }})(window);

 

这样数组就有了一个叫countValue的函数,这个函数可以返回对象,和php那个关联数组类似。