You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala.js中如何实现Uint8Array转Array[Byte]的方法?

在Scala.js中将Uint8Array转换为Array[Byte]

这里有两种可靠的实现方式,可根据需求选择:

方法一:利用Scala.js内置转换工具(简洁高效)

import scala.scalajs.js
import scala.scalajs.js.typedarray.Uint8Array
import scala.scalajs.js.JSConverters._

def toScalaArray(input: Uint8Array): Array[Byte] = {
  // 先将Uint8Array转为JS数组,再转为Scala原生数组
  input.toArray[Byte].toArray
}

这种方式依赖Scala.js提供的JSConverters隐式转换,toArray[Byte]会把TypedArray转换为普通JS数组,再调用Scala数组的toArray方法完成最终转换,代码简洁且性能较好。

方法二:手动遍历转换(灵活可控)

如果需要对每个元素做额外处理(比如过滤、修改值),可以手动遍历转换:

import scala.scalajs.js
import scala.scalajs.js.typedarray.Uint8Array

def toScalaArray(input: Uint8Array): Array[Byte] = {
  val result = new Array[Byte](input.length)
  for (i <- 0 until input.length) {
    result(i) = input(i).toByte
  }
  result
}

这种方式通过预先分配数组空间,逐个读取Uint8Array的元素并转换为Byte类型,适合需要自定义逻辑的场景。

内容的提问来源于stack exchange,提问作者R A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 02:05:17