我希望检查一个数组在我的mocha测试中包含一个Object for Node.js应用程序,我知道Chai-Things 我可以这样做:
[{ pet: 'cat' }, { pet: 'dog' }].should.include({ pet: 'cat' })
或
[{ pet: 'cat' }, { pet: 'dog' }].should.contain.a.thing.with.property('pet', 'cat')
但有没有办法检查是否包含多个属性而不知道所有属性 例如,如果我有一个数组:
var arr = [{ pet: 'cat', owner:1, id:1 }, { pet: 'cat', owner:2, id:2 },{ pet: 'dog', owner:1, id:3 }]
我想检查包含{ pet: 'cat', owner:1}
的对象我不知道测试前的id是什么,因为这将随机生成
我怎么能以有效的方式做到这一点,最好用chai,chai plugin或vanilla js,因为我不能使用另一个框架。我看了Chai-fuzzy,但我认为这不会有助于理解
答案 0 :(得分:0)
据我所知,你想过滤javascript对象数组。您可以使用jquery api grep ,如下所示。
filter = $.grep(arr, function (v) {
return v.pet === "cat" && v.owner === 1;
});
希望它有所帮助......