javascript 两个对象之间的深度差异,使用lodash

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 两个对象之间的深度差异,使用lodash相关的知识,希望对你有一定的参考价值。

/**
 * Deep diff between two object, using lodash
 * @param  {Object} object Object compared
 * @param  {Object} base   Object to compare with
 * @return {Object}        Return a new object who represent the diff
 */
function difference(object, base) {
	function changes(object, base) {
		return _.transform(object, function(result, value, key) {
			if (!_.isEqual(value, base[key])) {
				result[key] = (_.isObject(value) && _.isObject(base[key])) ? changes(value, base[key]) : value;
			}
		});
	}
	return changes(object, base);
}

以上是关于javascript 两个对象之间的深度差异,使用lodash的主要内容,如果未能解决你的问题,请参考以下文章

查找树中两个节点之间的深度差异,而无需一直到根

JavaScript 中两个日期的年、月、日之间的差异

获取 JavaScript 中两个日期之间的差异? [复制]

如何准确获取“年”中两个 DateTime 对象之间的差异 [已关闭,使用 NodaTime] [重复]

如何在 JavaScript 中呈现两个时间戳之间的上下文差异?

如何计算不同时区的两个 NSDate 对象之间的天数差异?