📜  lodash 合并 - Javascript (1)

📅  最后修改于: 2023-12-03 14:44:03.476000             🧑  作者: Mango

Lodash合并 - Javascript

在开发中,我们经常需要合并两个或多个对象或数组。而 Lodash 合并是一个非常好用的函数,可以帮我们快速实现这个功能。

Lodash 是一个 JavaScript 的实用工具库,为编写高效、现代化的 JavaScript 提供了很多实用的函数。Lodash 的语法简单易懂,而且可以用于浏览器和 Node.js 环境。

合并对象

合并对象可以使用 Lodash 的 merge 函数,它接受两个或多个对象作为参数,并返回一个新对象,其中包含所有输入对象的属性。

const obj1 = { a: 1 };
const obj2 = { b: 2 };
const obj3 = { c: 3 };

const mergedObj = _.merge(obj1, obj2, obj3);

// mergedObj 的值为 {a: 1, b: 2, c: 3}
合并数组

合并数组可以使用 Lodash 的 concat 函数,它接受两个或多个数组作为参数,并返回一个新数组,该数组包含所有输入数组的元素。

const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
const array3 = [7, 8, 9];

const mergedArray = _.concat(array1, array2, array3);

// mergedArray 的值为 [1, 2, 3, 4, 5, 6, 7, 8, 9]
合并深层对象

如果要合并深层对象(即对象中的对象),可以使用 Lodash 的 mergeWith 函数,并传递一个自定义函数。该自定义函数告诉 Lodash 如何合并深层对象中的属性。

const obj1 = { a: { b: 1 } };
const obj2 = { a: { c: 2 } };

const mergedObj = _.mergeWith(obj1, obj2, (objValue, srcValue) => {
  if (_.isObject(objValue)) {
    return _.merge(objValue, srcValue);
  }
});

// mergedObj 的值为 {a: {b: 1, c: 2}}
总结

Lodash 合并是一个非常实用的函数,可以帮助我们快速合并对象和数组。无论是在浏览器还是 Node.js 环境中,Lodash 都是必不可少的工具库之一。