我想要做的是使用chai.js比较2个基元数组,但不考虑元素的顺序 - 比如它们是2组.
现在显然我可以这样做:
const actual = ['a', 'b', 'c'];
const expected = ['b', 'c', 'a'];
expect(actual).to.have.length(expected.length);
expected.forEach(e => expect(actual).to.include(e));
Run Code Online (Sandbox Code Playgroud)
但我很好奇是否有一种首选的"内置"方式(我在文档中找不到它).
Вяч*_*кий 11
上面的答案expect([4, 2]).to.have.members([2, 4])不会检查作者提到的尺寸。
expect([1,2,2]).to.have.members([1,2])将通过测试。
最好的选择是使用https://www.chaijs.com/plugins/deep-equal-in-any-order/
Del*_*ite 10
expect([4, 2]).to.have.members([2, 4])