Musical keyboard component written in React.
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 

15 рядки
467 B

  1. type GroupKeysIntoOctaves = (dummyKeys: number[]) => Record<number, number[]>
  2. const groupKeysIntoOctaves: GroupKeysIntoOctaves = (dummyKeys) =>
  3. dummyKeys
  4. .map((k) => [k, Math.floor(k / 12)])
  5. .reduce<Record<number, number[]>>(
  6. (theOctaves, [key, keyOctave]) => ({
  7. ...theOctaves,
  8. [keyOctave]: Array.isArray(theOctaves[keyOctave]) ? [...theOctaves[keyOctave], key] : [key],
  9. }),
  10. {},
  11. )
  12. export default groupKeysIntoOctaves