UNPKG

ascor

Version:

一些常用的简单的js工具

33 lines (32 loc) 1.08 kB
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); }; import { isObject } from "../is/index"; /** * 深度合并对象 * 如果target(也就是FirstOBJ[key])存在, * 且是对象的话再去调用deepObjectMerge, * 否则就是FirstOBJ[key]里面没这个对象,需要与SecondOBJ[key]合并 */ export var deepMergeObject = function (FirstOBJ, SecondOBJ) { if (!isObject(FirstOBJ)) { return FirstOBJ; } if (!isObject(SecondOBJ)) { return FirstOBJ; } var one = __assign({}, FirstOBJ), two = __assign({}, SecondOBJ); // 深度合并对象 for (var key in two) { one[key] = one[key] && isObject(one[key]) ? deepMergeObject(one[key], two[key]) : (one[key] = two[key]); } return one; };