以下为ChatGPT自动生成的解答,正确与否请自行判断。

BFE.devAI解答 - JavaScript 代码题
176. undefined to null

实现思路:

  1. 使用递归的方法遍历对象及其嵌套对象的所有属性。

  2. 判断当前属性的值是否为 undefined,如果是,则将其替换为 null。

  3. 继续递归遍历当前属性的子属性,直到所有属性都被遍历完成。

代码实现如下:

function undefinedToNull(obj) {
  if (obj === undefined) {
    return null;
  }
  if (Array.isArray(obj)) {
    return obj.map(undefinedToNull);
  }
  if (typeof obj === "object") {
    const result = {};
    for (const prop in obj) {
      result[prop] = undefinedToNull(obj[prop]);
    }
    return result;
  }
  return obj;
}