使用Chai将数组的特定元素与另一个数组进行比较?

时间:2015-07-28 04:31:22

标签: javascript chai

我有两个如下所示的数组:

var arrayOne = [['Hello', 0, 'How'], ['World', 1, 'Are'], ['!', 9, 'You?']];
var arrayTwo = [['Hello', 7, 'How'], ['World', 6, 'Are'], ['!', 2, 'You?']];

我在测试中使用Chai进行断言,我想使用BDD断言来比较两个数组的第一个和第三个元素。

我知道我可以手动做一些事情,比如:

var arrayOne = [['Hello', 0, 'How'], ['World', 1, 'Are'], ['!', 9, 'You?']];
var arrayTwo = [['Hello', 7, 'How'], ['World', 6, 'Are'], ['!', 2, 'You?']];

var importantBits = function(e) {
  return [e[0], e[2]];
};

var condensedOne = arrayOne.map(importantBits);
var condensedTwo = arrayTwo.map(importantBits);

condensedOne.should.deep.equal(condensedTwo);

但是,如果可能的话,我宁愿使用更复杂的东西。

1 个答案:

答案 0 :(得分:0)

我就是这样做的:

const INDEXES = [ 0, 2 ];
INDEXES.forEach(function(idx) {
    condensedOne[idx].should.deep.equal(condensedTwo[idx]);
});

希望我使用should权利,我通常使用expect