Skip to content

Latest commit

 

History

History

2775.Undefined to Null

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

English Version

题目描述

编写一个名为 undefinedToNull 的函数,该函数接受一个深层嵌套的对象或数组 obj ,并创建该对象的副本,将其中的任何 undefined 值替换为 null

当使用 JSON.stringify() 将对象转换为 JSON 字符串时,undefined 值与 null 值的处理方式不同。该函数有助于确保序列化数据不会出现意外错误。

 

示例 1:

输入:obj = {"a": undefined, "b": 3}
输出:{"a": null, "b": 3}
解释:obj.a 的值已从 undefined 更改为 null 。

示例 2:

输入:obj = {"a": undefined, "b": ["a", undefined]}
输出:{"a": null,"b": ["a", null]}
解释:obj.a 和 obj.b[1] 的值已从 undefined 更改为 null 。

 

提示:

  • 2 <= JSON.stringify(obj).length <= 105

解法

TypeScript

function undefinedToNull(obj: Record<any, any>): Record<any, any> {
    for (const key in obj) {
        if (typeof obj[key] === 'object') {
            obj[key] = undefinedToNull(obj[key]);
        }
        if (obj[key] === undefined) {
            obj[key] = null;
        }
    }
    return obj;
}

/**
 * undefinedToNull({"a": undefined, "b": 3}) // {"a": null, "b": 3}
 * undefinedToNull([undefined, undefined]) // [null, null]
 */