我一直在努力找出如何在计数低于0时返回false,尝试使用第二个循环,但是我不知道如何在计数达到0时立即停止计数
let char = {}
function charCount(str1, str2) {
str1 = str1.toLowerCase()
str2 = str2.toLowerCase()
for (i = 0; i < str1.length; i++) {
if (str1[i] in char) {
char[str1[i]]++
} else {
char[str1[i]] = 1
}
}
for (i = 0; i < str2.length; i++) {
// Error is found here
if (str2[i] in char) {
char[str2[i]]--
} else {
return false
}
}
console.log(char)
return true
}
console.log(charCount("hello", "helllo"))
产出
{h: 0, e: 0, l: -1, o: 0}
true
2条答案
按热度按时间e5nqia271#
您可以检查该属性是否具有真实值,然后递减,否则使用
false
退出循环。顺便说一句,你应该声明变量,否则你会得到全局变量,这可能会导致混乱。
ylamdve62#
反转
if
条件,并为计数达到0添加检查。