# 基础函数 - 增删改查

文档类型：函数事实页
是否可直接用于生成代码：是；本页函数条目均包含参数表
遇到不确定时：回到 [../base.md](../base.md)、[../../index.md](../../index.md)

## 增删改查

### `filterIn(a, arg2, arg3[, arg4])`

用途：增删改查相关函数。

参数个数：3 到 4
返回值：处理结果

| 参数位置 | 参数名 | 必填 | 接收类型        | 说明                                             |
| -------- | ------ | ---- | --------------- | ------------------------------------------------ |
| 1        | `a`    | 是   | 数组            | 按源文档示例顺序传入                             |
| 2        | `arg2` | 是   | 数组            | 按源文档示例顺序传入                             |
| 3        | `arg3` | 是   | 字符串/nil/数组 | 按源文档示例顺序传入                             |
| 4        | `arg4` | 否   | 布尔值          | 按源文档示例顺序传入；源文档示例传入变量 `false` |

### `filterNotIn(a, b, arg3[, arg4])`

用途：增删改查相关函数。

参数个数：3 到 4
返回值：处理结果

| 参数位置 | 参数名 | 必填 | 接收类型   | 说明                                             |
| -------- | ------ | ---- | ---------- | ------------------------------------------------ |
| 1        | `a`    | 是   | 数组       | 按源文档示例顺序传入                             |
| 2        | `b`    | 是   | 数组       | 按源文档示例顺序传入                             |
| 3        | `arg3` | 是   | 字符串/nil | 按源文档示例顺序传入                             |
| 4        | `arg4` | 否   | 布尔值     | 按源文档示例顺序传入；源文档示例传入变量 `false` |

### `getMiddleN(data, start_pos, end_pos)`

用途：从数组表中按 1 基位置取中间行区间。

参数个数：3
返回值：数组表

| 参数位置 | 参数名      | 必填 | 接收类型 | 说明                  |
| -------- | ----------- | ---- | -------- | --------------------- |
| 1        | `data`      | 是   | 数组表   | 原始数组表            |
| 2        | `start_pos` | 是   | 整数     | 起始行位置，按 1 开始 |
| 3        | `end_pos`   | 是   | 整数     | 结束行位置，按 1 开始 |

### `filterTable(data, key_value)`

用途：从数组表或信息表中筛选匹配键值的记录。

参数个数：2
返回值：数组表

| 参数位置 | 参数名      | 必填 | 接收类型               | 说明                                       |
| -------- | ----------- | ---- | ---------------------- | ------------------------------------------ |
| 1        | `data`      | 是   | 数组表                 | 待筛选的数据表                             |
| 2        | `key_value` | 是   | 日期整数/整数/任意键值 | 用于匹配记录的键值；信息表场景常传日期整数 |

### `getSubField(data, field)`

用途：从数组表中取指定字段或列的值序列。

参数个数：2
返回值：数组

| 参数位置 | 参数名  | 必填 | 接收类型    | 说明           |
| -------- | ------- | ---- | ----------- | -------------- |
| 1        | `data`  | 是   | 数组表      | 原始数组表     |
| 2        | `field` | 是   | 字符串/整数 | 字段名或列下标 |

### `getSubTable(data, fields)`

用途：从数组表中按字段或列下标取子表。

参数个数：2
返回值：数组表

| 参数位置 | 参数名   | 必填 | 接收类型 | 说明                       |
| -------- | -------- | ---- | -------- | -------------------------- |
| 1        | `data`   | 是   | 数组表   | 原始数组表                 |
| 2        | `fields` | 是   | 数组     | 要保留的字段名或列下标数组 |
