题目
给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。
示例
输入: ["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
}
}
})
};