# keys

URL: https://caijiao.org/radash/object/keys
Source: docs/radash/object/keys.md
Description: 深度获取对象的所有键 给定一个对象，将其所有键及其子对象的键作为扁平字符串列表深度返回

深度获取对象的所有键


## 基本用法

给定一个对象，将其所有键及其子对象的键作为扁平字符串列表深度返回。

```ts
import { keys } from 'radash'

const ra = {
  name: 'ra',
  power: 100,
  friend: {
    name: 'loki',
    power: 80
  },
  enemies: [
    {
      name: 'hathor',
      power: 12
    }
  ]
}

keys(ra)
// => [
//   'name',
//   'power',
//   'friend.name',
//   'friend.power',
//   'enemies.0.name',
//   'enemies.0.power'
// ]
```

这是一个你可能想与 `get` 一起使用的函数，`get` 可以根据字符串路径动态查找对象中的值。将两者结合使用，你可以做一些事情，比如展平一个深层对象。

```ts
import { keys, get, objectify } from 'radash'

objectify(
  keys(ra),
  key => key,
  key => get(ra, key)
)
// => {
//   'name': 'ra'
//   'power': 100
//   'friend.name': 'loki'
//   'friend.power': 80
//   'enemies.0.name': 'hathor'
//   'enemies.0.power': 12
// }
```

_从 v10.5.0+ 版本开始，你可以通过 crush 函数获得此行为_
