clone.js 781 B

1234567891011121314151617181920212223242526272829303132
  1. import isArray from './is-array';
  2. var clone = function (obj) {
  3. if (typeof obj !== 'object' || obj === null) {
  4. return obj;
  5. }
  6. var rst;
  7. if (isArray(obj)) {
  8. rst = [];
  9. for (var i = 0, l = obj.length; i < l; i++) {
  10. if (typeof obj[i] === 'object' && obj[i] != null) {
  11. rst[i] = clone(obj[i]);
  12. }
  13. else {
  14. rst[i] = obj[i];
  15. }
  16. }
  17. }
  18. else {
  19. rst = {};
  20. for (var k in obj) {
  21. if (typeof obj[k] === 'object' && obj[k] != null) {
  22. rst[k] = clone(obj[k]);
  23. }
  24. else {
  25. rst[k] = obj[k];
  26. }
  27. }
  28. }
  29. return rst;
  30. };
  31. export default clone;
  32. //# sourceMappingURL=clone.js.map