UNPKG

ascor

Version:

一些常用的简单的js工具

36 lines (35 loc) 1.22 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.deepMergeObject = void 0; var index_1 = require("../is/index"); /** * 深度合并对象 * 如果target(也就是FirstOBJ[key])存在, * 且是对象的话再去调用deepObjectMerge, * 否则就是FirstOBJ[key]里面没这个对象,需要与SecondOBJ[key]合并 */ exports.deepMergeObject = function (FirstOBJ, SecondOBJ) { if (!index_1.isObject(FirstOBJ)) { return FirstOBJ; } if (!index_1.isObject(SecondOBJ)) { return FirstOBJ; } var one = __assign({}, FirstOBJ), two = __assign({}, SecondOBJ); // 深度合并对象 for (var key in two) { one[key] = one[key] && index_1.isObject(one[key]) ? exports.deepMergeObject(one[key], two[key]) : (one[key] = two[key]); } return one; };