Javascript 按值而不是按类型测试数组
有没有办法按值而不是按类型比较数组 例如:Javascript 按值而不是按类型测试数组,javascript,chai,Javascript,Chai,有没有办法按值而不是按类型比较数组 例如: assert.deepEqual(new Float32Array([1,2,3]), [1,2,3]); 当然,我可以编写自己的比较,或者我可以将第二个数组信息转换为aFloat32Array,但我只想知道这些值是相同的,对于上面的值,它们是相同的 sameMembers也无法表示它需要一个数组 我想用某种方法来比较不同类型的对象,只是为了检查它们的值是否相同 const assert=chai.assert; 测试(()=> assert.de
assert.deepEqual(new Float32Array([1,2,3]), [1,2,3]);
当然,我可以编写自己的比较,或者我可以将第二个数组信息转换为aFloat32Array
,但我只想知道这些值是相同的,对于上面的值,它们是相同的
sameMembers
也无法表示它需要一个数组
我想用某种方法来比较不同类型的对象,只是为了检查它们的值是否相同
const assert=chai.assert;
测试(()=>
assert.deepEqual([1,2,3],[1,2,3]);
测试(()=>
assert.deepEqual(新的Float32Array([1,2,3]),[1,2,3]);
测试(()=>
sameMembers(新的Float32Array([1,2,3]),[1,2,3]);
功能测试(fn){
试一试{
fn();
console.log('pass:');
}捕获(e){
console.log('fail:',e.stack.split('\n')[0]);
}
}
您可以改为使用,并首先检查数组的长度
const assert=chai.assert;
常数a=新的浮点数组([1,3,2]);
常数b=[1,2,3];
测试(()=>
断言.相等(a.长度,b.长度)
&&
包括(a,b));
功能测试(fn){
试一试{
fn();
console.log('pass:');
}捕获(e){
console.log('fail:',e.stack.split('\n')[0]);
}
}
将[1,2,3]与[1,3,2]进行比较会通过,但需要失败您可以在数组上进行迭代,但我认为deepEqual应该可以工作:您可以打开一个问题