更新:非常感谢您的建议!伟大的社区!我指定了任务。
我需要编写一个函数,它有两个参数:message,text。 如果可以从文本字母创建消息,则函数应返回true。否则,返回false。
撰写(" ohle","你好"); //应该返回true
撰写(" elooooo","你好"); //应该返回false,因为只有一个" o"在文本"你好"。
我试过这个:
function compose(message, text){
for(var i = 0, len = message.length; i < len; i++){
if(text.includes(message[i])){
console.log(true);
} else {
console.log(false);
}
}
}
实际上,除了console.log或者返回之外,我无法想到我在循环中放了什么。但是,它会为每个字母记录日志。
你有什么见解吗?任务应该用javascript ES5编写。 感谢
答案 0 :(得分:1)
您可以使用Array.prototype.every()
和.indexOf()
const compose = (letter, text) => [...text].every(char => letter.indexOf(char) > -1);
console.log(compose("ohle", "hello"));
console.log(compose("elooooo", "hello"));
答案 1 :(得分:0)
它不会返回7为真,实际上你的函数记录7个真实。如果您需要一个结果,您需要:
function compose(letter, text){
for(var i = 0, len = letter.length; i < len; i++){
if(!text.includes(letter[i])){
return false;
}
}
return true;
}
然后你可以使用你的函数的console.log结果