-
Notifications
You must be signed in to change notification settings - Fork 0
/
letterPositions.js
41 lines (31 loc) · 1.1 KB
/
letterPositions.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// const assertArraysEqual = require('./assertArraysEqual.js').assertArraysEqual;
const letterPositions = function(sentence) {
const result = {};
for (let index = 0; index < sentence.length; index++) {
if (sentence[index] === ' ') {
continue;
}
if (result[sentence[index]]) {
result[sentence[index]].push(index);
} else {
result[sentence[index]] = [index];
}
}
return result;
};
module.exports = letterPositions;
// let result1 = letterPositions("hello");
// assertArraysEqual(result1["h"],[0]);
// assertArraysEqual(result1["e"],[1]);
// assertArraysEqual(result1["l"],[2, 3]);
// assertArraysEqual(result1["o"],[4]);
// result1 = letterPositions("lighthouse in the house");
// assertArraysEqual(result1["l"],[0]);
// assertArraysEqual(result1["i"],[1, 11]);
// assertArraysEqual(result1["g"],[2]);
// assertArraysEqual(result1["h"],[3, 5, 15, 18]);
// assertArraysEqual(result1["t"],[4, 14]);
// assertArraysEqual(result1["o"],[6, 19]);
// assertArraysEqual(result1["u"],[7, 20]);
// assertArraysEqual(result1["s"],[8, 21]);
// assertArraysEqual(result1["e"],[9, 16, 22]);