为什么两个具有深度相等元素的数组的深度相等结果为false ?
Why is deep equals on two arrays with deeply equal elements yielding false?
我必须在javascript数组。同时具有===和==的元素的相等性比较成功。但是当我用chai对数组执行深度等号运算时,总是失败。
我做错了什么?为什么一个数组将元素显示为字符串?很明显它不是一个字符串,对吧?否则===操作符将失败。
数组中元素的类型为mongoose ObjectId。
数组:
A: ["57af9c0623a2c3b106efa7a8"]
B: [ 57af9c0623a2c3b106efa7a8 ]
A[0] === B[0] // true
失败的行:
expect(A).to.eql(B);
这是两个相等的数组,但对象不同。
var a = ['57af'];
var b = ['57af'];
console.log(a[0] === b[0], a === b);
---
true, false
用来比较(从到)
isEqual = a.length == b.length && a.every(function(v,i) { return v === b[i]})
相关文章:
- 与 lodash 进行对象深度比较的数组
- javascript中嵌套对象的深度复制数组
- Algo查找深度并在JSON数组中按顺序插入
- 返回所有DOM元素的数组,按深度排序
- 用javascript将一个对象数组复制到另一个数组中(深度复制)
- 深度减少(也许是采摘?)对象数组
- Ramda js:用于具有嵌套对象数组的深度嵌套对象的镜头
- 在 Angular 2 + TypeScript 中深度复制数组
- 平展深度嵌套的对象数组
- 对象的深度克隆数组
- Angular.copy() 不是深度复制引用的数组
- 角度$filter,用于在 JSON 响应中的数组中进行深度过滤
- JavaScript:将线性JSON数组转换为深度未知的树结构
- 如何在没有递归的情况下迭代n级深度的数组
- 通过深度索引访问数组元素
- 在javascript数组中查找和修改深度嵌套对象
- 映射数组到对象的深度基于单独的对象
- 排序对象的多维数组与一个可变的深度在Javascript
- 如何在javascript中深度复制对象作为对象而不是数组
- 对于JavaScript多维数组的深度拷贝,深入一层似乎就足够了.这是真的吗?