当您在Javascript中创建一个新集合时,您会迭代吗?
出现这个问题的原因是为了检查一个单词是否包含重复的字母。我想采取的方法是:当您在Javascript中创建一个新集合时,您会迭代吗?,javascript,Javascript,出现这个问题的原因是为了检查一个单词是否包含重复的字母。我想采取的方法是: var word = "will" var x = new Set(word) if(x.size == word.length){ console.log("no duplicates") }else{ console.log("duplicates") } 我知道当你创建一个集合时,这个值只能出现一次。试图确定这是否是一种有效的方法,我不确定在创建集合时它是否会迭代,或者它是否使用某种哈希表。如果
var word = "will"
var x = new Set(word)
if(x.size == word.length){
console.log("no duplicates")
}else{
console.log("duplicates")
}
我知道当你创建一个集合时,这个值只能出现一次。试图确定这是否是一种有效的方法,我不确定在创建集合时它是否会迭代,或者它是否使用某种哈希表。如果您担心性能,我建议您使用jsPerf并比较您可能已经考虑过的任何其他方法 尝试使用您的特定场景,因为它可能取决于运行代码的引擎和正在运行的实际场景 以此为例,
Set对象是ECMAScript语言值的集合。不同值只能作为集合集合的元素出现一次。使用比较算法区分不同的值。你想要什么?。由于上述方法不会检查重复的
字母
,有效方法
如果正确使用,是的。你只是想问,将单词
放入一个集合是否会导致单词
被迭代?如果你想使用集合检查重复的字母,比如->var hasDups=(s)=>新集合(s.split(“”)).尺寸!==s、 长度然后是hasDups('hello')
为真,hasDups('dog')
为假。它不会告诉你哪些字母是重复的,但会告诉你是否有重复的。是的,这似乎回答了我的问题。我不确定仅仅制作一个过滤方法是否会更容易。我想知道最有效的方法是什么。非常感谢。