可以用lodash库中的isEqualWith方法来进行比较。isEqualWith方法的第三个参数可以传入一个自定义的比较函数,用来比较数组中的每一个元素。
示例代码如下:
const _ = require('lodash');
const obj1 = {
data: [
{id: 1, name: 'John'},
{id: 2, name: 'Jane'}
]
};
const arr1 = [
{id: 1, name: 'John'},
{id: 2, name: 'Jane'}
];
const isEqual = (value1, value2) => {
// 判断是否为数组
if (Array.isArray(value1) && Array.isArray(value2)) {
// 判断数组长度是否相等
if (value1.length !== value2.length) {
return false;
}
// 遍历数组中的每一个元素进行比较
for (let i = 0; i < value1.length; i++) {
if (!_.isEqual(value1[i], value2[i])) {
return false;
}
}
return true;
}
};
console.log(_.isEqualWith(obj1, arr1, isEqual)); // 输出true