Skip to content

keys

深度获取对象的所有键

397 bytes
since v12.1.0

使用方法

给定一个对象,深度返回它的所有键和子键作为扁平字符串列表。

import * as _ from "radashi";
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 一起使用的函数,它根据字符串路径动态查找对象中的值。将两者结合使用,您可以做一些像扁平化深层对象这样的事情。

import * as _ from "radashi";
_.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 函数获得此行为