freeCodeCamp:Confirm the Ending

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

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

方法一:

function confirmEnding(str, target) {
  if ( str.substr(str.length-target.length , str.length) === target) {
    return true;
  }else {
    return false;
  }
}

confirmEnding("Bastian", "n");

方法二:

function confirmEnding(str, target) {
  if ( str.slice(str.length-target.length , str.length) === target) {
    return true;
  }else {
    return false;
  }
}

confirmEnding("Bastian", "n");

方法三:

function confirmEnding(str, target) {
  if ( str.substring(str.length-target.length , str.length) === target) {
    return true;
  }else {
    return false;
  }
}

confirmEnding("Bastian", "n");

三种方法都是截取字符串指定字段,其中slice()和substring()接收的是起始位置和结束位置(不包括结束位置),而substr接收的则是起始位置和所要返回的字符串长度.

还有在对负值的处理上,slice()会将它字符串的长度与对应的负数相加,结果作为参数;substr()则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;substring()则干脆将负参数都直接转换为0。

posted @ 2016-10-27 10:59  酸菜有毒  阅读(816)  评论(0编辑  收藏