Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按值而不是按类型测试数组_Javascript_Chai - Fatal编程技术网

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]);
当然,我可以编写自己的比较,或者我可以将第二个数组信息转换为a
Float32Array
,但我只想知道这些值是相同的,对于上面的值,它们是相同的

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应该可以工作:您可以打开一个问题