Skip to content

数组变量数据管理接口 Array

具体函数名及描述如下:

序号函数名函数描述
1SetValue(...)设置数组值
2InsertValue(...)插入数组值
3ReplaceValue(...)替换数组值
4GetValue(...)获取数组值
5GetIndexByValue(...)获取值对应的索引位置
6RemoveByValue(...)删除数组值
7Remove(...)删除数组值
8Clear(...)清空数组
9Sort(...)数组排序
10GetSize(...)获取数组长度
11GetAllValue(...)获取数组所有数据
12GetMax(...)获取数组最大值
13GetMin(...)获取数组最小值
14RandomValue(...)获取数组随机值
15HasValue(...)数组是否有值
16HasValueByNo(...)数组索引是否有值
17InsertValues(...)数组合并插入
18RemoveByValues(...)删除数组中相同值
19GetCountByValue(...)获取值出现次数
20IncreasesValue(...)增加数组值

SetValue

  • 参数及类型:
    • varId:string数组ID
    • playerId:number玩家uin(全局数组传nil)
    • value:any具体值
    • index:number索引
  • 返回值及类型:
  • 该方法的其他说明: 设置数组指定索引位置的值,索引值不允许大于数组当前大小
  • 具体使用案例如下:
lua
    -- 将数值组的索引1位置的值设置为44

    Data.Array:SetValue(arrayId, nil, 44, 1)

InsertValue

  • 参数及类型:
    • varId:string数组ID
    • playerId:number玩家uin(全局数组传nil)
    • value:any具体值
    • index:number索引(可选,为空则添加到末尾)
  • 返回值及类型:
  • 该方法的其他说明: 在数组指定索引位置插入数据,如果索引为空则添加到数组末尾
  • 具体使用案例如下:
lua
    -- 末尾插入数字5

    Data.Array:InsertValue(arrayId, nil, 5)

    -- 在索引1位置插入数字4

    Data.Array:InsertValue(arrayId, nil, 4, 1)

ReplaceValue

  • 参数及类型:
    • varId:string数组ID
    • playerId:number玩家uin(全局数组传nil)
    • value:any新值
    • oldValue:any旧值
  • 返回值及类型:
  • 该方法的其他说明: 在数组中查找并替换指定旧值为新值
  • 具体使用案例如下:
lua
    -- 将数值组的全部5替换为55

    Data.Array:ReplaceValue(arrayId, nil, 55, 5)

GetValue

  • 参数及类型:
  • 返回值及类型:
    • value:any数组值(失败返回nil)
  • 该方法的其他说明: 获取数组指定索引位置的值
  • 具体使用案例如下:
lua
    local value = Data.Array:GetValue(arrayId, nil, 1)

GetIndexByValue

  • 参数及类型:
    • varId:string数组ID
    • playerId:number玩家uin(全局数组传nil)
    • value:any具体值
  • 返回值及类型:
    • num:number索引位置(失败返回nil)
  • 该方法的其他说明: 在数组中查找指定值的索引位置,如果有多个则返回第一个
  • 具体使用案例如下:
lua
    local indexByValue = Data.Array:GetIndexByValue(arrayId, nil, 5)

RemoveByValue

  • 参数及类型:
    • varId:string数组ID
    • playerId:number玩家uin(全局数组传nil)
    • value:any具体值
  • 返回值及类型:
  • 该方法的其他说明: 删除数组中所有匹配指定值的元素
  • 具体使用案例如下:
lua
    Data.Array:RemoveByValue(arrayId, nil, 55)

Remove

  • 参数及类型:
  • 返回值及类型:
  • 该方法的其他说明: 删除数组指定索引位置的值
  • 具体使用案例如下:
lua
    local isSuccess = Data.Array:Remove(arrayId, nil, 1)

Clear

  • 参数及类型:
    • varId:string数组ID
    • playerId:number玩家uin(全局数组传nil)
  • 返回值及类型:
  • 该方法的其他说明: 清空数组中的所有数据
  • 具体使用案例如下:
lua
    Data.Array:Clear(arrayId)

Sort

  • 参数及类型:
  • 返回值及类型:
  • 该方法的其他说明: 对数组进行排序,支持升序和降序
  • 具体使用案例如下:
lua
    -- 将数值组arrayId按升序排序

    local isSuccess = Data.Array:Sort(arrayId, nil, SortType.Up)

GetSize

  • 参数及类型:
    • varId:string数组ID
    • playerId:number玩家uin(全局数组传nil)
  • 返回值及类型:
    • num:number数组元素数量(失败返回0)
  • 该方法的其他说明: 获取数组的元素数量
  • 具体使用案例如下:
lua
local num = Data.Array:GetSize(varId, playerId)

GetAllValue

  • 参数及类型:
    • varId:string数组ID
    • playerId:number玩家uin(全局数组传nil)
  • 返回值及类型:
    • values:table数组所有值(失败返回空表{})
  • 该方法的其他说明: 获取数组中的所有元素,返回完整的数组数据
  • 具体使用案例如下:
lua
    local allValues = Data.Array:GetAllValue(arrayId)

    local allValues2 = Data.Array:GetAllValue(arrayPlayerId, Player:GetHostUin())

GetMax

  • 参数及类型:
    • varId:string数组ID
    • playerId:number玩家uin(全局数组传nil)
  • 返回值及类型:
    • num:number最大值(失败返回nil)
  • 该方法的其他说明: 获取数组中的最大值,仅适用于数值类型数组
  • 具体使用案例如下:
lua
    local max = Data.Array:GetMax(arrayId)

GetMin

  • 参数及类型:
    • varId:string数组ID
    • playerId:number玩家uin(全局数组传nil)
  • 返回值及类型:
    • num:number最小值(失败返回nil)
  • 该方法的其他说明: 获取数组中的最小值,仅适用于数值类型数组,其它类型的数组返回nil
  • 具体使用案例如下:
lua
    local min = Data.Array:GetMin(arrayId)

RandomValue

  • 参数及类型:
    • varId:string数组ID
    • playerId:number玩家uin(全局数组传nil)
  • 返回值及类型:
    • value:any随机元素值(失败返回nil)
  • 该方法的其他说明: 从数组中随机获取一个数值
  • 具体使用案例如下:
lua
    local randomValue = Data.Array:RandomValue(arrayId)

HasValue

  • 参数及类型:
    • varId:string数组ID
    • playerId:number玩家uin(全局数组传nil)
    • value:any具体值
  • 返回值及类型:
  • 该方法的其他说明: 检测数组中是否包含指定值
  • 具体使用案例如下:
lua
    local hasValue = Data.Array:HasValue(arrayId, nil, 5)

HasValueByNo

  • 参数及类型:
  • 返回值及类型:
    • bool:boolean该索引位置是否有值
  • 该方法的其他说明: 检测数组指定索引位置是否有值
  • 具体使用案例如下:
lua
    local hasValueByNo = Data.Array:HasValueByNo(arrayId, nil, 1)

InsertValues

  • 参数及类型:
    • varId1:string目标数组ID
    • playerId1:number目标数组玩家uin(全局数组传nil)
    • index:number插入索引(可选,为空则添加到末尾)
    • varId2:string源数组ID
    • playerId2:number源数组玩家uin(全局数组传nil)
  • 返回值及类型:
  • 该方法的其他说明: 将源数组的所有元素插入到目标数组的指定索引位置,如果索引为空则添加到末尾
  • 具体使用案例如下:
lua
    local size = Data.Array:GetSize(arrayId)

RemoveByValues

  • 参数及类型:
    • varId1:string目标数组ID
    • playerId1:number目标数组玩家uin(全局数组传nil)
    • varId2:string源数组ID
    • playerId2:number源数组玩家uin(全局数组传nil)
  • 返回值及类型:
  • 该方法的其他说明: 根据目标数组的值删除源数组中出现的相同值
  • 具体使用案例如下:
lua
    -- 将玩家私有变量组arrayPlayerId的全部值从数值组arrayId中删除

    Data.Array:RemoveByValues(arrayId, nil, arrayPlayerId, Player:GetHostUin())

GetCountByValue

  • 参数及类型:
    • varId:string数组ID
    • playerId:number玩家uin(全局数组传nil)
    • value:any具体值
  • 返回值及类型:
    • num:number值出现的次数(失败返回0)
  • 该方法的其他说明: 统计数组中指定值出现的次数
  • 具体使用案例如下:
lua
    local countByValue = Data.Array:GetCountByValue(arrayId, nil, 5)

IncreasesValue

  • 参数及类型:
  • 返回值及类型:
  • 该方法的其他说明: 将数组指定索引位置的数值增加指定值,仅适用于数值类型数组,其它类型的数组返回false
  • 具体使用案例如下:
lua
    -- 将数值组的索引1位置的值增加10

    local isSuccess = Data.Array:IncreasesValue(arrayId, nil, 10, 1)