/**
* URL访问频率统计
* map函数 处理webpag请求和应答(URL,1)的log。
* Reduce函数 把所有相同的URL的值合并,并且输出一个成对的(URL,总个数)。
* 参考:http://labs.google.com/papers/mapreduce.html
*/
var mapReduceJob = {
map:function(/*Array*/lines){
var map_result = [];
lines.each(function(line){
var url = line.match(/GET \S+.html HTTP/);//仅简单匹配html类型链接
if(url)){
map_result.push([url[0],1]);
}
});
return map_result;
},
reduce:function(/*Array*/map_result){
var reduce_result={};
map_result.each(function(/*Array*/pair){
reduce_result[pair[0]] ||= 0;
reduce_result[pair[0]] += pair[1];
});
return reduce_result;
},
run:function(){
var xhr = new XMLHTTPRequest();
var me = this;
xhr.onreadystatechange = function(){
if (xhr.readyState == 4){
var data = xhr.responseText.split("\n");
var map_result = me.map(data);
var reduce_result = me.reduce(map_result);
console.log(reduce_result );
}
}
xhr.Open("get", "http://test.com/log/log-2009-6-7.log", true);
xhr.send(null);
}
};
mapReduceJob.run();
分享到:
相关推荐
javascript中的map减少算法的多线程方法。 这个项目开始是一个有趣的实验。 可以在javascipt的单线程事件循环中实现此算法吗? 入门 该项目写于ES2015,并使用babel和西兰花移植到ES5。 为了充分利用该项目,您将...
map-reduce-matrix-multiplication-js 示例:字数统计 让我们实现 MapReduce 计算模型的经典示例:通过 MapReduce 计算单词。 使用mapReduce函数来自: : 地图功能: function map ( row , emit ) { var words =...
view-tester 您的友好帮助者可以快速迭代CouchDB视图CLI用法# npm install -g couchdb-view-testercouchdb-view-tester <db> [--watch] --map=<path> --reduce=<path> 例子可以在上访问您想要测试其map / reduce功能...
有趣的 JavaScript Map Reduce 实用的 JavaScript Map Reduce 示例关于这个小实验对我来说有两方面的意义。 一方面,我想玩弄地图并减少数组方法。 另一方面,我想围绕一个名为 Venus.js 的更新的单元测试框架。 ...
5. **数组方法**:像`map()`、`filter()`、`reduce()`这样的数组方法是JavaScript中处理数据的强大工具,它们在函数式编程中非常常见。 6. **事件处理**:在Web开发中,JavaScript常用于响应用户的交互,如点击按钮...
本题目的核心是使用`reduce`函数实现`map`函数的功能。`map`函数是数组的一个常见操作,它遍历数组中的每个元素,并根据提供的函数返回一个新的数组,新数组中的元素是原数组元素经过函数处理的结果。而`reduce`函数...
【标题】"s2-javascript-上机练习" 涉及的是JavaScript编程语言的实践环节,这通常意味着我们将深入探讨如何在实际操作环境中运用JavaScript技术。JavaScript是一种广泛用于网页和网络应用的脚本语言,它能够实现...
从PouchDB map / reduce插件中提取的抽象map / reduce函数。 设计用于: 地图/缩小 地理查询 全文搜索查询 pouchdb-indexes(aka芒果查询,aka Cloudant查询语言) 建造 npm install npm run build 测验 警告:要...
迪斯科地图减少项目 概述 安装 sudo pip install -r requirements.txt 跑步 fab run 产生 要求 节点.js 跑步 cd generate ...node dist/app.js --file FILENAME ... 0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/...
在JavaScript编程语言中,"地图"(Map)、"过滤器"(Filter)和"减少"(Reduce)是三种非常重要的数组方法。它们是函数式编程的核心概念,用于处理和转换数组数据,使得代码更加简洁、易读且可维护。本文将深入探讨...
函数式编程也是本课程的重要组成部分,学员会接触到高阶函数、柯里化、map、reduce等函数式编程技巧,以提升代码质量和可读性。同时,课程也会讲解异步编程,包括回调函数、Promise、async/await,这些都是解决...
fackAchieve 手写 es6 函数,Promise 特性,lodash 库的函数实现,模拟 vue,React 等前端框架的实现和原理的理解。 functions 文件夹 ...functions/Array/reduce.js -- map functions/Array/map.js --
当你在上一课看到,有很多的我们之间的各种重复的代码map为基础的,并reduce基础的功能。 这会在您体内引发“过敏”React。 您学会了“ DRY out”您的代码。 在本课程中,我们将学习使用JavaScript中的函数表达式来...
无循环编程通常通过使用数组方法,如`map`、`reduce`、`filter`和`find`来实现。这些方法允许我们以更简洁的方式处理数组中的数据,减少了代码重复和潜在的错误。 1. **map** 方法: `map`函数接受一个函数作为...
4. **数组方法**:push、pop、shift、unshift、slice、splice、concat、join、map、filter、reduce等。 5. **字符串和正则表达式**:字符串方法、正则表达式模式匹配、替换、查找、分割等操作。 6. **事件处理**:...
在IT领域,尤其是在编程中,`filter()`, `map()`, 和 `reduce()` 是非常重要的数组操作方法,尤其在JavaScript中。这些函数是函数式编程的核心概念,它们可以帮助我们更简洁、高效地处理数据。 首先,让我们逐一...
foreach-prop 对象的类数组方法 :warning_selector: 某些javascript实现不遵循对象键顺序。 使用keyOf , lastKeyOf , findKey和find方法时,请记住这一点。安装npm i foreach-propCDNjsDelivr < script src =" ...
map-reduce Node的map-reduce算法 安装 $ npm install node-mapreduce 用法 var MapReduce = require ( 'node-mapreduce' ) ; var mapReduce = MapReduce ( ) ; var article = 'A very long string' ; function ...
标题 "Desafio-pratico-Desmistificando-map_filter-e-reduce" 指向一个实践挑战,目的是深入理解并应用JavaScript中的`map()`, `filter()`, 和 `reduce()` 这三个核心函数。这些函数是数组操作的重要工具,对于高效...
此外,JavaScript提供了一系列内置方法来操作数组,如push()用于在数组末尾添加元素,pop()用于移除末尾元素,slice()用于提取数组的一部分,concat()用于连接两个或多个数组,以及map()、filter()、reduce()等用于...