Skip to content

Latest commit

 

History

History
33 lines (24 loc) · 983 Bytes

File metadata and controls

33 lines (24 loc) · 983 Bytes

title: 数组处理

本篇文档介绍在 Wilddog Sync 中对数组的处理方法。

Wliddog Sync 没有对数组的原生支持,但是支持将数组下标作为 key ,数组元素作为 value 的方式进行存储。

// 要存储的数组数据结构
['hello', 'world']
// Wilddog 实际存储的结构
{0: 'hello', 1: 'world'}

在 Wilddog Sync 处理数据时,数据将被转换回各平台语言的原生数组。需要符合条件:当 0 到最大的 key(比如 n ) 之间,n+1 个元素中超过一半以上有值。

// 要存储的数据
['a', 'b', 'c', 'd', 'e']
// Wilddog 实际存储
{0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e'}

// 由于key是数值,并且是连续有序的,
// 因此当查询数据时,将会得到:
['a', 'b', 'c', 'd', 'e']

// 当我们删除掉a,b和d之后,
// 就不满足 “5 个元素中超过一半有值” 这一条件了,
// 因此当查询时,将返回的是:
{2: 'c', 4: 'e'}