使用ES6的reduce函数,根据key去重】的更多相关文章

最近很着迷于ES6的函数,让代码变得更优雅.ES6里的reduce函数,平时用的不是特别多,真正用起来发现还是挺好用的. 想要实现的效果为: 原数组: let rawArr = [{id:'123'},{id:'456'},{id:'789'},{id:'123'}]; 根据id去重后的结果为 let rawArr = [{id:'123'},{id:'456'},{id:'789'}]; reduce函数介绍 在说如何去重之前,先来介绍一下reduce函数: array.reduce(call…
使用new Set()快速数组去重: let arr = [1, 2, 2, 3, 4, 5, 5, 5, 6] let set = new Set([...arr]) console.log([...set]) //[1, 2, 3, 4, 5, 6] function SetArr(array) { return Array.from(new Set(array)); } console.log(SetArr([1, 1, 2, 2, 3, 4, 4])) // [1, 2, 3,4]…
最近写MapReduce程序,出现了这么一个问题,程序代码如下: package demo; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileSystem; import org.…
今天来谈一下箭头函数, es6的新特性 首先我们来看下箭头函数长什么样子, let result = (param1, param2) => param1+param2; 上述代码 按照以前书写应该是 : function add(param1, param2){ return param1+param2; } 当 只有一个参数时,还可以简写为: let result = v => 5+v; 箭头函数不支持 arguments 当有多个参数时,比如10个参数时, 我们就不能用arguments…
1函数参数的默认值 基本用法 在ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法. function log(x, y) { y = y || 'World'; console.log(x, y); } log('Hello') // Hello World log('Hello', 'China') // Hello China log('Hello', '') // Hello World 上面代码检查函数log的参数y有没有赋值,如果没有,则指定默认值为World.这种写法的…
es6中reduce()方法从左往右开始 参数:prev:它是上一次调用回调时返回的结果,每次调用的结果都会给prev cur:当前的元素 index:当前的索引 arr:循环的数组 返回值:函数累计处理的结果 demo:求数组的和. var a = [1,2,3,4,5,6,7,8,9,10] var str = a.reduce(function(prev,cur,index,arr){ return prev + cur ;})str // 55;求阶乘 var a = [1,2,3,4,…
作者:Panda Fang 出处:http://www.cnblogs.com/lonkiss/p/understanding-python-reduce-function.html 原创文章,转载请注明作者和出处,未经允许不可用于商业营利活动 reduce() 函数在 python 2 是内置函数, 从python 3 开始移到了 functools 模块. 官方文档是这样介绍的 reduce(...) reduce(function, sequence[, initial]) -> valu…
第一次见到reduce 是在js 的高级程序设计中,它的意思是把一个数组减少为一个数,举的例子是数组中元素的求和.它接受一个函数作为参数,函数又有两个参数,一个是prev, 前一个值,一个是next, 后一个值,然后函数体就是返回相加的值. let array = [1, 3, 5]; let sum = array.reduce((prev, next) => { return prev + next; }) console.log(sum); 我对reduce 的理解也仅限于此,只停留在了表…
内置函数——filter.map和reduce filter filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list. 例如,要从一个list [1, 4, 6, 7, 9, 12, 17]中删除偶数,保留奇数,首先,要编写一个判断奇数的函数: def is_odd(x): == 然后,利用filter()过滤掉偶数: >>>l…
ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面. function log(x, y = 'World') { console.log(x, y); } log('Hello') // Hello World log('Hello', 'China') // Hello China log('Hello', '') // Hello ES6 的写法比 ES5 简洁许多,而且非常自然.下面是另一个例子. function Point(x = 0, y = 0) { this.x =…