当字符串按顺序包含数组中的元素时
When String Contains Elements From Arrays In Order
当变量 "message" 按顺序包含每个数组中的一个元素时,如何使控制台打印为真:"greetings" 然后 "colour" 然后 "names",但是任何"greetings" 之前和 "colour" 之后的词仍然打印为真。
如果元素乱序,它应该打印 false。
如果元素之间有单词,它应该打印 false。
检查当前代码下方的示例。
当前代码:
var message = '';
var greetings = 'hi' || 'hello' || 'hey';
var colour = 'red' || 'green' || 'blue';
var names = 'john' || 'evan' || 'etienne';
if (message.includes(greetings + ' ' + colour + ' ' + names)) {
console.log(true);
} else {
console.log(false);
}
消息时应打印的内容示例:
message = 'hi green evan' //true
message = 'lol hey blue john' //true
message = 'hello green etienne! xD' //true
message = 'evan green hi' //false because wrong element order
message = 'hi very green evan' //false because word in-between elements
var message = 'hi green evan';
var greetings = ["hi","hello","hey"];
var colour = ['red','green','blue'];
var names = ['john','evan','etienne'];
var contained = false;
greetings.some(x =>{
colour.some(z=>{
names.some(e=>{
if(message.includes(x + ' ' + z + ' ' + e)){
contained = true;
alert(true);
}
});
});
});
if(!contained)
alert(false);
你可以这样做。可能不是最好的方法,但我想到的第一件事
您可以为此使用正则表达式。
var message = "hello green etienne! xD";
var greetings = ["hi", "hello", "hey"].join("|");
var colors = ["red", "green", "blue"].join("|");
var names = ["john", "evan", "etienne"].join("|");
var reg = new RegExp("^.*(" + greetings + ")\s+.*(" + colors + ")\s+(" + names + ").*$");
console.log(reg.test(message));
当变量 "message" 按顺序包含每个数组中的一个元素时,如何使控制台打印为真:"greetings" 然后 "colour" 然后 "names",但是任何"greetings" 之前和 "colour" 之后的词仍然打印为真。
如果元素乱序,它应该打印 false。
如果元素之间有单词,它应该打印 false。
检查当前代码下方的示例。
当前代码:
var message = '';
var greetings = 'hi' || 'hello' || 'hey';
var colour = 'red' || 'green' || 'blue';
var names = 'john' || 'evan' || 'etienne';
if (message.includes(greetings + ' ' + colour + ' ' + names)) {
console.log(true);
} else {
console.log(false);
}
消息时应打印的内容示例:
message = 'hi green evan' //true
message = 'lol hey blue john' //true
message = 'hello green etienne! xD' //true
message = 'evan green hi' //false because wrong element order
message = 'hi very green evan' //false because word in-between elements
var message = 'hi green evan';
var greetings = ["hi","hello","hey"];
var colour = ['red','green','blue'];
var names = ['john','evan','etienne'];
var contained = false;
greetings.some(x =>{
colour.some(z=>{
names.some(e=>{
if(message.includes(x + ' ' + z + ' ' + e)){
contained = true;
alert(true);
}
});
});
});
if(!contained)
alert(false);
你可以这样做。可能不是最好的方法,但我想到的第一件事
您可以为此使用正则表达式。
var message = "hello green etienne! xD";
var greetings = ["hi", "hello", "hey"].join("|");
var colors = ["red", "green", "blue"].join("|");
var names = ["john", "evan", "etienne"].join("|");
var reg = new RegExp("^.*(" + greetings + ")\s+.*(" + colors + ")\s+(" + names + ").*$");
console.log(reg.test(message));