前端 js方法 请写一个方法 该方法用于两个对象之间是否发生改变 如果发生改变 则返回false 该对象里除了有基本类型 还存在 数组对象 和对象数组
时间: 2024-01-27 22:05:25 浏览: 59
JavaScript 中有关数组对象的方法(详解)
在前端中,可以通过使用深度比较工具库 `lodash` 中的 `isEqual(value, other)` 方法来实现两个对象之间的深度比较。该方法可以比较两个对象中的所有元素,包括基本类型、数组对象和对象数组,只有当两个对象的所有元素都相等时,才返回true,否则返回false。
以下是示例代码:
```javascript
import isEqual from 'lodash/isEqual';
/**
* 判断两个对象是否相等,包括基本类型、数组对象和对象数组
* @param {*} a 对象a
* @param {*} b 对象b
* @return {boolean} 如果两个对象相等,则返回true;否则返回false
*/
function deepEquals(a, b) {
return isEqual(a, b);
}
```
可以通过以下方式来使用该方法:
```javascript
const arr1 = [1, 2, 3];
const arr2 = [1, 2, 3];
const arr3 = [1, 2, 4];
const objArr1 = [arr1, 1, 'hello'];
const objArr2 = [arr2, 1, 'hello'];
const objArr3 = [arr3, 1, 'hello'];
console.log(deepEquals(arr1, arr2)); // true
console.log(deepEquals(arr1, arr3)); // false
console.log(deepEquals(objArr1, objArr2)); // true
console.log(deepEquals(objArr1, objArr3)); // false
```
需要注意的是,在使用该方法之前需要先安装 `lodash` 库,可以通过以下命令进行安装:
```bash
npm install lodash
```
阅读全文