[js学习]二、js笔记之匹配字符串问题

一.匹配字符串问题

1.匹配字符串可以用match(//正则表达式)方法来匹配字符

例子如下:

functionXO(str){

  let x = str.match(/x/gi);

  let o = str.match(/o/gi);

  return (x && x.length) === (o && o.length);

}

本例子为匹配字符“o”和“x”次数,不区分大小写,相同次数返回true,不同返回false

2.使用filter

const XO = str=> { str = str.toLowerCase().split('');

  return str.filter(x=> x === 'x').length === str.filter(x=> x === 'o').length;

}

本例子为匹配字符“o”和“x”次数,不区分大小写,相同次数返回true,不同返回false

3.当问题涉及到大小写问题时,可以使用toLowerCase()(将字符串转化为小写)和toUpperCase()(将字符串转化为大写),涉及到ASCII码值可以使用charCodeAt()方法;

例子如下:

你需要给定一个字符串,用字母表中的位置替换每个字母。

如果文本中的任何内容不是字母,请忽略它并不返回。

a是1,b是2等

functionalphabetPosition(text){

  var result = "";

  for (var i = 0; i < text.length; i++){

    var code = text.toUpperCase().charCodeAt(i)

    if (code > 64 && code < 91) result += (code - 64) + " ";  }  return result.slice(0, result.length-1);

}

4.map()的使用

  map()将数组的每个元素都通过设定的条件运算之后返回一个数组

输入[[18, 20],[45, 2],[61, 12],[37, 6],[21, 21],[78, 9]]

functionopenOrSenior(data){

  return data.map(([age, handicap]) => (age > 54 && handicap > 7) ? 'Senior' : 'Open');

}//输出["Open", "Open", "Senior", "Open", "Open", "Senior"]

你可能感兴趣的:([js学习]二、js笔记之匹配字符串问题)