# Object 对象操作

## 功能

Object 原型函数提供键值枚举、JSON 字符串化、深拷贝、合并、筛选、裁剪和高阶遍历能力。

## API 列表

| API | 说明 |
| ------ | ------ |
| [Object.len](/docs/object/len) | 返回对象自身键值对数量。 |
| [Object.to_string](/docs/object/to_string) | 把对象序列化为 JSON 字符串。 |
| [Object.keys](/docs/object/keys) | 返回对象键名数组。 |
| [Object.values](/docs/object/values) | 返回对象值数组。 |
| [Object.entries](/docs/object/entries) | 返回 [key, value] 形式的条目数组。 |
| [Object.reverse](/docs/object/reverse) | 返回键顺序反转后的新对象。 |
| [Object.concat](/docs/object/concat) | 把一个或多个对象合并到新对象。 |
| [Object.clone](/docs/object/clone) | 返回对象深拷贝。 |
| [Object.delete](/docs/object/delete) | 删除指定键。 |
| [Object.has_key](/docs/object/has_key) | 判断对象是否存在指定键。 |
| [Object.each](/docs/object/each) | 遍历对象键值并执行回调。 |
| [Object.map](/docs/object/map) | 遍历对象并把回调返回值写入新对象。 |
| [Object.filter](/docs/object/filter) | 筛选让回调结果为真的键值对。 |
| [Object.every](/docs/object/every) | 判断所有键值对是否都让回调结果为真。 |
| [Object.some](/docs/object/some) | 判断是否存在键值对让回调结果为真。 |
| [Object.find](/docs/object/find) | 返回第一个让回调结果为真的值。 |
| [Object.find_key](/docs/object/find_key) | 返回第一个让回调结果为真的键。 |
| [Object.update](/docs/object/update) | 把一个或多个对象原地合并到当前对象。 |
| [Object.pick](/docs/object/pick) | 按键名选择字段并返回新对象。 |
| [Object.omit](/docs/object/omit) | 按键名排除字段并返回新对象。 |
| [Object.clear](/docs/object/clear) | 清空对象并返回原对象。 |

## 示例

```bt
user = {name: 'BT', age: 1}
result = user.keys()

// 输出：["name","age"]
print result
```

## 注意事项

- 对象保持插入顺序。
- clone、reverse、concat、map、filter、pick、omit 返回新对象；delete、update、clear 会修改原对象。
