这是javascript的初学者挑战之一,您需要检查传递给函数的参数(符号字符串,即=,+,任意字母)是否包含由+包围的随机字母。如果存在,则返回true,否则返回false。
function simple(str) {
let alph = 'abcdefghijklmnopqrstuvwxyz';
let alphArray = alph.split('');
for (let i = 0; i <= alphArray.length; i++) {
if (str.includes(`+${alph[i]}+`)) {
return true;
} else {
return false;
}
}
}
console.log(simple('+d+=3=+s+'));
它应该返回true,但是我肯定会缺少某些东西,很可能是这种情况。
另外,尝试在不使用函数的情况下执行此操作,并使用带有给定符号的预定义变量进行操作,但效果很差。
最佳答案
您需要将false
return语句移出循环,因为这将立即结束循环,而无需检查以下可能的真实值,并且需要使索引的长度小于字符串的长度。
顺便说一句,不需要使用数组。
function simple(str) {
let alph = 'abcdefghijklmnopqrstuvwxyz';
for (let i = 0; i < alph.length; i++) {
if (str.includes(`+${alph[i]}+`)) {
return true;
}
}
return false;
}
console.log(simple('+d+=3=+s+'));