title: 数组处理

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

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

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

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

  1. // 要存储的数据
  2. ['a', 'b', 'c', 'd', 'e']
  3. // Wilddog 实际存储
  4. {0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e'}
  5. // 由于key是数值,并且是连续有序的,
  6. // 因此当查询数据时,将会得到:
  7. ['a', 'b', 'c', 'd', 'e']
  8. // 当我们删除掉abd之后,
  9. // 就不满足 5 个元素中超过一半有值” 这一条件了,
  10. // 因此当查询时,将返回的是:
  11. {2: 'c', 4: 'e'}