如何遍历具有未知属性的对象中的所有数字?

How to loop through all numbers in an object with unknown properties?

如何遍历结构未知的对象中的所有数字?假设我想创建一个函数,将对象中的所有数字转换为其绝对值。

例如,这种类型的对象作为上述函数的输入将起作用:

interface RandomType: {
    num: number;
    nums: number[];
    anyObj: any[];
}

您可以使用 for ... in 循环遍历对象的所有可枚举键,但我建议使用 Object.keys 函数。请参见下面的示例:

declare const obj: randomType;
for (const k of Object.keys(obj)) {
  if (typeof obj[k] === 'number')
    obj[k] = Math.abs(obj[k]);
}