从文本[JavaScript]

时间:2017-11-04 15:09:43

标签: javascript

更新:非常感谢您的建议!伟大的社区!我指定了任务。

我需要编写一个函数,它有两个参数: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编写。 感谢

2 个答案:

答案 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结果