Keyboard Row LeetCode solution in JavaScript

1
var findWords = function (words) {
2
const firstRow = {
3
q: true,
4
w: true,
5
e: true,
6
r: true,
7
t: true,
8
y: true,
9
u: true,
10
i: true,
11
o: true,
12
p: true,
13
};
14
const secondRow = {
15
a: true,
16
s: true,
17
d: true,
18
f: true,
19
g: true,
20
h: true,
21
j: true,
22
k: true,
23
l: true,
24
};
25
const thirdRow = {
26
z: true,
27
x: true,
28
c: true,
29
v: true,
30
b: true,
31
n: true,
32
m: true,
33
};
34
let result = [];
35

36
const helperFunc = (word) => {
37
let targetRow;
38
//Determine in which row the word should be;
39
if (firstRow[word[0].toLowerCase()]) targetRow = firstRow;
40
if (secondRow[word[0].toLowerCase()]) targetRow = secondRow;
41
if (thirdRow[word[0].toLowerCase()]) targetRow = thirdRow;
42

43
for (let i = 1; i < word.length; i++) {
44
if (!targetRow[word[i].toLowerCase()]) {
45
return false;
46
}
47
}
48
return true;
49
};
50

51
for (let i = 0; i < words.length; i++) {
52
if (helperFunc(words[i])) {
53
result.push(words[i]);
54
}
55
}
56
return result;
57
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0