주어진 문자열이 주어진 와일드 카드 패턴과 일치하면 True를 반환하고 그렇지 않으면 False를 반환하는 함수를 구현하십시오.주어진 문자열이 주어진 와일드 카드 패턴과 일치하면 True를 반환하고 그렇지 않으면 False를 반환하는 함수를 구현하십시오.
내장 된 split()
, indexOf()
, startsWith()
및 endsWith()
에 사용할 수 있습니다.
나는 마지막으로 한 것과 매우 비슷하지만 여전히 그걸 포기할 수는 없다. 여기에 지금까지
function matches(text, pattern) {
var x = pattern.split("*");
var y = (text.indexOf(x[0]) !== -1);
for (i = 0; i< x.length; i++){
if (y) {
y = (text.indexOf(x[i]) !== -1);
}
}
return y;
}
console.log(matches("lord of the rings", "lord*rings")); // Expected: True
console.log(matches("lord of the rings", "Lord*rings")); // Expected: False
console.log(matches("lord of the rings", "l*o*t*r")); // Expected: False
console.log(matches("lord of the rings", "l*o*t*r*s")); // Expected: True
console.log(matches("lord of the rings", "lord*")); // Expected: True
console.log(matches("lord of the rings", "*rings")); // Expected: True
console.log(matches("lord of the rings", "*the*")); // Expected: True
console.log(matches("lord of the rings", "*")); // Expected: True
console.log(matches("lord of the rings", "*z*")); // Expected: False
는 내가 뭘하려고 오전 그들의 각 하나를 체크 한 후 단어를 분리하고있다가, 그들 모두는 다음 존재하는 경우 내가 true
또는 경우를 반환 무엇 그들 중 적어도 하나는 내가 돌아 오지 않는다 false
. 그러나 무언가가 잘못되어서 나는 무엇을 이해하지 못합니다.
해결 방법이나 의견을 보내 주시면 감사하겠습니다. 매우 간단하게 유지하십시오. 감사합니다.
* "하지만 뭔가 잘못되었습니다"* 너무 유용하기에는 너무 애매합니다. 현재 코드가 개별 파트가 와일드 카드 문자열에 지정된 ** 순서 **에 있는지 확인하기 위해 아무 것도하지 않습니다. –
그리고 우리가 당신을 위해 당신의 숙제를하기 위해 여기에 있지 않다는 것을 말하게하십시오;) –
Lelio 그게 무슨 뜻입니까? 나는 당신이 내 프로필에서 그것을 볼 수 있는지 모르지만, 나는 단지 붙어서 잠시 동안 벽에 머리를 때리고 있었기 때문에 단지 재미로 작성하고 이것을 묻습니다. 왜냐하면 나는 코딩 수업을 가지고 있기 때문에 이것은 내 숙제입니다. – Lezhka