Confirm the Ending

检查一个字符串(str)是否以指定的字符串(target)结尾。

如果是,返回true;如果不是,返回false。

 

/*思路
  字符串长度str.length等于字符串位置str.indexOf() + 字符串长度target.length;
  为避免字符串中重复的target所以应从后往前搜索lastIndexOf() ;
*/

function confirmEnding(str, target) {
  if(str.lastIndexOf(target)+target.length!=str.length){
    return false;
  }
  return true;
}

confirmEnding("Bastian", "n");

 

思路

我们来看看 substr() 的用法。

语法:

str.substr(start[, length])

start 是一个字符的索引。首字符的索引为 0,最后一个字符的索引为 字符串的长度减去1。substr 从 start 位置开始提取字符,提取 length 个字符(或直到字符串的末尾)。

如果 start 为正值,且大于或等于字符串的长度,则 substr 返回一个空字符串。

如果 start 为负值,则 substr 把它作为从字符串末尾开始的一个字符索引。如果 start 为负值且 abs(start) 大于字符串的长度,则 substr 使用 0 作为开始提取的索引。注意负的 start 参数不被 Microsoft JScript 所支持。

这道题目使用 substr() 的负参数运用可解决。

function confirmEnding(str, target) {
  // "Never give up and good luck will find you."
  return str.substr(-target.length,target.length) === target;
}

 

posted @ 2016-11-24 17:03  兴趣使然的椰子  阅读(261)  评论(0编辑  收藏  举报