在 DevTools 中复制具有 属性 功能的对象

Copy object with function as a property in DevTools

在chrome 控制台中复制具有属性 功能的对象时,属性 会完全丢失。如何在 DevTools 中使用 copy() 并复制整个 属性 而不会丢失任何内容?

我看到的关于使用函数 属性 将 json 复制到剪贴板的唯一方法

const isArrowFn = (fn) => 
  (typeof fn === 'function') &&
  !/^(?:(?:\/\*[^(?:\*\/)]*\*\/\s*)|(?:\/\/[^\r\n]*))*\s*(?:(?:(?:async\s(?:(?:\/\*[^(?:\*\/)]*\*\/\s*)|(?:\/\/[^\r\n]*))*\s*)?function|class)(?:\s|(?:(?:\/\*[^(?:\*\/)]*\*\/\s*)|(?:\/\/[^\r\n]*))*)|(?:[_$\w][\w0-9_$]*\s*(?:\/\*[^(?:\*\/)]*\*\/\s*)*\s*\())/.test(fn.toString());


copy(
  JSON.parse(
    JSON.stringify(obj, (key, val) => {
      if (typeof val === "function")
        return !isArrowFn(val)
          ? val.toString().substring(
              val.toString().indexOf("{") + 1,
              val.toString().lastIndexOf("}")
            )
          : val.toString();
      return val;
    })
  )
);