clone.js 335 B

12345678910111213141516171819
  1. export function clone(obj) {
  2. let buf;
  3. if (obj instanceof Array) {
  4. buf = []
  5. let i = obj.length;
  6. while (i--) {
  7. buf[i] = clone(obj[i])
  8. }
  9. return buf
  10. } else if (obj instanceof Object) {
  11. buf = {}
  12. for (const k in obj) {
  13. buf[k] = clone(obj[k])
  14. }
  15. return buf
  16. } else {
  17. return obj
  18. }
  19. }