问题描述
我在ClojureScript站点中从midiAccess对象作为Uint8Array获得MIDI消息,但似乎无法将其转换为可以从中获取值的东西。 (js/console.log message)
在浏览器控制台中生成Uint8Array(3) [128,65,0]
。
实际上,消息上的“第一个”获得第一个值,但随后的“第二个”则没有。使用js-> clj似乎没有将其转换为可用的任何东西。如何处理数据呢?我尝试过js->clj
,但似乎保持不变。
解决方法
以下是一些示例:
(let [ui8a (Uint8Array.from [0 1 2 3 4 5])]
然后
ui8a => #object[Uint8Array 0,1,2,3,4,5]
(.-length ui8a) => 6
(first ui8a) => 0
(second ui8a) => 1
(aget ui8a 3) => 3
(into [] ui8a) => [0 1 2 3 4 5] ; either one works
(vec ui8a) => [0 1 2 3 4 5]
您可能会发现此list of documentation sources有用。特别要确保每天学习Clojure CheatSheet!