升级版去重 -- 去重且不保留重复元素

1、一般我们做的去重算法都是把重复的元素删掉,保留重复元素的。
例如:leet =》 let
实现方法谷歌一搜有很多很多。
2、把数组有重复的元素都删掉,而且不保留重复元素。
例如:leet =》 lt
function fn(str){
	var newArr = [];
	for(var i=0;i<str.length;i++){
		var j=newArr.indexOf(str[i])
		if(j==-1){
			newArr.push(str[i])
		}else if(str.lastIndexOf(str[i]) == i){//预防‘eee’这种情况,确保是最后一个才删除元素
			newArr.splice(j,1)
		}
	}
	return newArr.join('')
}
console.log(fn('leetclode'))//tcod

  

posted @ 2018-08-09 19:48  Westbrook维  阅读(338)  评论(0编辑  收藏  举报