_.isEqual(value, other)
执行深比较来确定两者的值是否相等
这个方法支持比较 arrays, array buffers, booleans, date objects, error objects, maps, numbers, Object objects, regexes, sets, strings, symbols, 以及 typed arrays. Object 对象值比较自身的属性,不包括继承的和可枚举的属性。 不支持函数和DOM节点比较。
举例:
const o1 = [{a: 1, b: 2, c: [1, 2]}]
const o2 = [{a: 1, b: 2, c: [1, 2]}]
const o3 = [{a: 1, b: 2, c: [1, 3]}]
console.log(_.isEqual(o1, o2)) // true
console.log(_.isEqual(o1, o3)) // false
_.cloneDeep(value)
深拷贝
递归拷贝对象,即深拷贝。效果:深拷贝后的对象指针和原对象指针所指向的地址不一样,说人话就是这两个对象之间没有引用关系了,改其中一个不会影响另一个。
举例:
var objects = [{ 'a': 1 }, { 'b': 2 }];
var deep = _.cloneDeep(objects);
console.log(deep[0] === objects[0]); // false