有没有办法从Javascript中的地图的包含块返回? [重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法从Javascript中的地图的包含块返回? [重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我正在尝试实现一个函数,它检查一个单词中是否存在字母列表。
function wordHasLatters(word,letters){
let wordChars={};
word.split("").map(c=>wordChars[c]=true);
let ok=true;
letters.split("").map(l=>ok=ok&&(wordChars[l]!=undefined));
return ok;
}
使用地图都比较优雅。困扰我的是,如果我发现没有信件,我就无法从第二张地图返回。所以我必须使用一个变量并返回它。这是代码中的两个额外行。
有没有办法优化这段代码?
答案
const wordHasLetters = (word,letters) => letters.every(letter => word.includes(letter));
或使用普通的旧循环:
function wordHasLetters(word, letters){
const hash = {};
for(var char of word)
hash[char] = true;
for(var letter of letters)
if(!hash[letter]) return false;
return true;
}
或者使用Set:
function wordHasLetters(word, letters){
const set = new Set(letters);
for(var char of word){
set.delete(char);
if(!set.size) return true;
}
return false;
}
以上是关于有没有办法从Javascript中的地图的包含块返回? [重复]的主要内容,如果未能解决你的问题,请参考以下文章
python中有没有办法解压缩类似于javascript中的传播运算符的列表? [复制]