检查一个字符串(str
)是否以指定的字符串(target
)结尾。
如果是,返回true;如果不是,返回false。
这个做了两次。
第一次的解题思路:1,将两个字符串翻转
2,然后将target字符串和str字符串进行比较
3,直到target的最后一个字符
function confirmEnding(str, target) {
// "Never give up and good luck will find you."
// -- Falcor
var new_str = str.split("").reverse();
var new_target = target.split("").reverse();
for(var i = 0; i < new_target.length; i++){
if(new_target[i] != new_str[i]){
return false;
}
}
return true;
}
confirmEnding("He has to give me a new name", "name");
这个思路是对的,不过太过繁琐,第二次看到有substr函数,瞬间思路明朗。
第二次解题思路:1,截取str字符串的最后几位得到new_str,长度和target长度相同
2,将截取到的字符串new_str和target进行匹配
3,如果相同返回真,不同返回假
var last = str.substr((str.length-target.length),str.length-1);
if(last !== target){
return false;
}
return true;