【问题标题】:How to loop through all numbers in an object with unknown properties? [duplicate]如何遍历具有未知属性的对象中的所有数字? [复制]
【发布时间】:2021-07-29 06:58:37
【问题描述】:

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

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

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

【问题讨论】:

  • 你能告诉我们想要的输出吗?
  • 遍历属性,检查值的类型。数字? ->Math.abs();目的? -> 遍历属性 -> ...;大批? -> 遍历元素 -> ...;

标签: javascript typescript object ecmascript-5


【解决方案1】:

您可以使用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]);
}

【讨论】:

    猜你喜欢
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多