Skip to content

snu.formatNumber() ​

数值格式化 ​

格式化数字:若一个数字的小数部分为零(即为整数),则去掉小数尾返回整数形式,否则原样返回。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
numNumber是-待格式化的数值

返回值 ​

类型必备描述
Number是整数返回整数值,否则返回原浮点数

示例 ​

typescript
let a = snu.formatNumber(1.0) // 1
let b = snu.formatNumber(1.5) // 1.5

snu.deepClone() ​

深拷贝 ​

深拷贝数据。递归拷贝数组、普通对象(UTSJSONObject)、Set、Map、RegExp、Date 及各种二进制/类型化数组等,并先用 toRaw 剥离响应式代理。字符串、数字、布尔等基本类型原样返回。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
sT是-待深拷贝的数据

返回值 ​

类型必备描述
T是深拷贝得到的新的同类型数据

示例 ​

typescript
let obj = { a: 1, b: [1, 2, 3] } as UTSJSONObject
let copy = snu.deepClone(obj)

snu.reArray() ​

克隆数组 ​

浅拷贝数组,返回一个新的数组,元素为原数组元素的引用(不修改原数组)。新数组与原数组独立,但元素本身未深拷贝。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
oldArrayT[]是-原数组

返回值 ​

类型必备描述
T[]是原数组的浅拷贝新数组

示例 ​

typescript
let copy = snu.reArray([1, 2, 3])

snu.shuffle() ​

数组洗牌 ​

使用 Fisher-Yates 算法原地打乱数组元素顺序,并返回该数组。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
arrany[]是-待打乱的数组

返回值 ​

类型必备描述
any[]是打乱后的原数组(原地修改)

示例 ​

typescript
let arr = [1, 2, 3, 4, 5]
let shuffled = snu.shuffle(arr)

snu.isNumber() ​

判断是否为数字 ​

判断传入值是否为数字类型。在非 App 平台判断 typeof value == 'number' 且非 NaN;在 App 平台兼容各类原生数字类型(Int、Float、Double 等)。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
valueany/null是-待判断的值

返回值 ​

类型必备描述
Boolean是是否为数字类型

示例 ​

typescript
let r1 = snu.isNumber(3)   // true
let r2 = snu.isNumber('3') // false

snu.setDataset() ​

写入元素 dataset ​

向元素(UniElement)的 dataset 中写入一个键值对。App 端直接写键;Web 端会自动将键转换为 camelCase 后写入。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
elUniElement是-目标元素
keyString是-数据键名
valueany是-要写入的数据值

返回值 ​

类型必备描述
Void否无返回值

示例 ​

typescript
let el = document.getElementById('myId')
snu.setDataset(el, 'my-key', 'value1')

snu.getDataset() ​

读取元素 dataset ​

读取元素(UniElement)的 dataset 中指定键的值,未找到时返回空字符串 ''。Web 端会自动将键转换为 camelCase 后读取。

兼容性 ​

WebAndroid
√√

属性 ​

名称类型必备默认值描述
elUniElement是-目标元素
keyString是-数据键名

返回值 ​

类型必备描述
any是键对应值;不存在时返回 ''

示例 ​

typescript
let val = snu.getDataset(el, 'my-key')

使用 MIT 协议