4.24面试0101重复字符串
实现一个算法,确定一个字符串 s 的所有字符是否全都不同。
题目分析
使用ES6set判断重复
var isUnique = function (astr) {
var arr = Array.from(astr)
var ser = new Set(...[arr])
if (ser.size < arr.length) {// Set的size小于arr.length 说明去重了
return false
}
return true
};
ES6 set
基本用法
类数组,成员的值都是唯一的
const set = new Set
构造函数
Set()可以接收一个数组作为参数,进行初始化
数组去重
[...new Set(arr)]
Set()加入值的时候不会进行类型转换,类似于全等===
增删改查
.add(value)返回set结构本身;
.delete(value)返回set;
.has()返回布尔值;
.clear()清除所有值;
for of 遍历
.keys()返回键名字
.values();
.entries()返回键值对;
因为Set结构类数组,其实是同名键值对;所以默认直接for of 遍历Set输出的是value.