https://leetcode-cn.com/problems/keyboard-row/
描述
给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。
示例:
输入: ["Hello", "Alaska", "Dad", "Peace"]
输出: ["Alaska", "Dad"]
注意:
- 你可以重复使用键盘上同一字符。
- 你可以假设输入的字符串将只包含字母。
分析
将三行保存在一个数组里面,接着遍历传入的words,将每一个单词转换小写的数组,再里面遍历键盘的数组,some表示再某一行,every表示每个字母都遍历。
/**
* @param {string[]} words
* @return {string[]}
*/
var findWords = function(words) {
let keyboard = ['qwertyuiop', 'asdfghjkl', 'zxcvbnm']
return words.filter(word => {
let wordArr = word.toLowerCase().split('')
return keyboard.some(item => wordArr.every(i => item.includes(i)))
})
};