-
Notifications
You must be signed in to change notification settings - Fork 3
/
utils.js
110 lines (102 loc) · 1.82 KB
/
utils.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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
//An array of Pitches
export const pitchObject = {
'C3': 130.81,
'Cs3': 138.59,
'D3': 146.83,
'Ds3': 155.56,
'E3': 164.81,
'F3': 174.61,
'Fs3': 185.00,
'G3': 196.00,
'Gs3': 207.65,
'A3': 220.00,
'As3': 233.08,
'B3': 246.94,
'C4': 261.63,
};
export const notesData = [
{
id: 'C3',
note: 'C',
},
{
id: 'Cs3',
note: 'C#',
},
{
id: 'D3',
note: 'D',
},
{
id: 'Ds3',
note: 'D#',
},
{
id: 'E3',
note: 'E',
},
{
id: 'F3',
note: 'F',
},
{
id: 'Fs3',
note: 'F#',
},
{
id: 'G3',
note: 'G',
},
{
id: 'Gs3',
note: 'G#',
},
{
id: 'A3',
note: 'A',
},
{
id: 'As3',
note: 'A#',
},
{
id: 'B3',
note: 'B',
},
{
id: 'C4',
note: 'High C',
},
];
export function findById(someArray, someId) {
for (let i = 0; i < someArray.length; i++) {
const item = someArray[i];
if (item.id === someId) {
return item;
}
}
}
export function addNewNote(someArray, someId) {
let result = findById(someArray, someId);
if (result) {
result.count++;
} else {
let theNote = findById(notesData, someId);
const newNote = {
id: theNote.id,
note: theNote.note,
count: 1,
};
someArray.push(newNote);
}
return someArray;
}
const GUEST = 'GUEST';
export function setInLocalStorage(key, value) {
const stringyItem = JSON.stringify(value);
localStorage.setItem(key, stringyItem);
}
export function getLocalStorage() {
const myKey = localStorage.getItem(GUEST);
return JSON.parse(myKey);
}