在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那个关联数组类似。
javascript 数组扩展实现 php array_count_values() 函数功能
时间: 2024-10-21 21:42:45