Leetcode答题 --- 键盘行

题目

给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。

示例

输入: ["Hello", "Alaska", "Dad", "Peace"]
输出: ["Alaska", "Dad"]

思路

列举出键盘中每一行的字母组成一个数组,然后遍历输入的单词列表来做过滤操作。注意大小写判断,统一转换为大写或者小写进行判断过滤

实现

var findWords = function(words) {
  let letterDic = ["qwertyuiop", "asdfghjkl", "zxcvbnm"]
  return words.filter(item => {
    for (let i = 0; i < letterDic.length; i++) {
      let fitStr = item.split('').every(char => letterDic[i].split('').includes(char.toLowerCase()))
      if (fitStr) {
        return item
      }
    }
  })
};

你可能感兴趣的:(Leetcode解题记录,Javascript)