我想编写一个函数,将任何为空的对象的属性的所有实例转换为未定义。我的许多对象都有嵌套对象作为属性或值/对象数组。
解决问题时,我的第一个想法是使用泛型尝试使用泛型类型捕获每个属性的类型,然后根据需要将该属性的值从 null 转换为 undefined。
我希望编写一个足够通用的函数,可以在我的代码库中的任何不同类型和大小的对象上工作。
我一直无法找到一种简单的方法来拥有未知数量的泛型类型,所以我的下一个想法是我必须在任何地方使用 any 类型。有没有解决的办法?
我也喜欢关于方法/算法本身的一些建议。我的想法是我可能需要递归检查每个属性以查看它本身是否是具有子属性的对象,并且我还需要迭代发现的任何可能具有空值的数组,或者有一个对象这也需要递归检查。
我需要解决/回答的问题/问题:
我目前的方法是这样的:
inputObjectKeys.map(key, index) =>
然后有一个函数将 null 转换为 undefined,忽略非对象类型,如果它是一个对象则递归。
我假设我想使用广度优先搜索或深度优先搜索(我倾向于使用广度优先搜索来完成此特定任务)。我假设因为我需要访问每个节点,所以我可能会因为内存使用而更好地使用 DFS。