符合题意的解决办法
function unique(arr) {
const res = new Map();
return arr.filter((a) => !res.has(a) && res.set(a, 1))
}
因为map key唯一,所以你想要根据哪个属性去重,res.has(a)里a就可以改成什么,比如a.name
参考:
https://segmentfault.com/a/11...
箭头函数
return arr.filter((a) => !res.has(a) && res.set(a, 1))
//上面的代码可以改成这样
return arr.filter(function(a){
return !res.has(a) && res.set(a, 1);
});
1、箭头函数写代码拥有更加简洁的语法;
2、不会绑定this。
分割线,下面是我的个人问题,跟问题有些出入,采纳了我符合我个人问题的答案,抱歉
我是这么写的,
参考了
https://segmentfault.com/q/10...
https://blog.csdn.net/zhihua_...
问题和文章,但觉得不是很优雅,好像没有用什么es6的新东西,请问es6有更好地实现方式吗?谢谢各位
getGameVersionList() {
const versionList = this.page.resultList
const versionSet = [0]
const hash = {}
for (var i = 0, gameVersion; (gameVersion = versionList[i]) != null; i++) {
if (!hash[gameVersion.gameVersionNo]) {
versionSet.push(gameVersion.gameVersionNo)
hash[gameVersion.gameVersionNo] = true
}
}
this.gameVersionNoSet = versionSet
},