Javascript JS如何比较和计算每个第一个多维数组中的相同元素?

Javascript JS如何比较和计算每个第一个多维数组中的相同元素?,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我有这个JS代码: $.get('file.log', function(data) { var lines = data.split("\n"); $.each(lines, function(n, elem) { var url = elem.match(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig); var parts =

我有这个JS代码:

$.get('file.log', function(data) { var lines = data.split("\n"); $.each(lines, function(n, elem) { var url = elem.match(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig); var parts = url.toString().split(',h'); var file=parts[0]; var hostname='h' + parts[1]; }); $.get('file.log',函数(数据){ 变量行=数据分割(“\n”); $。每个(行,函数(n,元素){ var url=elem.match(/(\b(https?| ftp | file):\/\/[-A-Z0-9+&@#\/%?=~~~|!:,.;]*[-A-Z0-9+&@#\/%=~|]/ig); var parts=url.toString().split(',h'); var文件=零件[0]; var hostname='h'+部件[1]; }); 通过第[0]部分,我了解到每个主机名如何相互比较,并显示最可重复的主机名?据我所知,这是多维数组的第一个元素

以下是日志文件的示例:

85.164.152.30 - - [23/May/2012:14:01:05 +0200] "GET http://www.vgtv.no/video/img/94949_160px.jpg HTTP/1.1" 200 3889 "http://www.vgtv.no/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0" 85.164.152.30--[23/May/2012:14:01:05+0200]“获得http://www.vgtv.no/video/img/94949_160px.jpg HTTP/1.1“200 3889”http://www.vgtv.no/“Mozilla/5.0(Windows NT 6.1;WOW64;rv:12.0)Gecko/20100101 Firefox/12.0”
只需使用另一个对象来收集统计信息

var hostnameFrequencies = {};

$.get('file.log', function (data) {
    var lines = data.split("\n");
    $.each(lines, function (n, elem) {
        var url = elem.match(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig);
        var parts = url.toString().split(',h');
        var file = parts[0];
        var hostname = 'h' + parts[1];
        hostnameFrequencies[hostname] = hostnameFrequencies[hostname] ? hostnameFrequencies[hostname] + 1 : 1;
    });
    console.log(hostnameFrequencies);
});

对不起,我在控制台日志中有这样的内容:对象{,更多…},但是现在如何只显示五个最可重复的对象?