gpt4 book ai didi

javascript - Chai - 检查 2 个对象数组是否具有相同的标题

转载 作者:行者123 更新时间:2023-11-30 14:55:04 24 4
gpt4 key购买 nike

假设我有 2 个包含对象的数组:

var aArray = [ { title: 'Abc', price: '1,200' }, { title: 'def', price: '900' } ]

var bArray = [ { title: 'def', price: '900', other: 'someDetail' }, { title: 'Abc', price: '1,200', other: 'someDetail' } ]

我如何验证它们在每个数组中具有相同的标题值,即使它们的顺序不同?

我可以使用类似的东西吗:

expect(aArray.title).to.deep.equal(bArray.title)

然后对于那个匹配的标题项目,我想检查两者之间的价格是否相同。

我也试过expect(cart).to.deep.include.members(cart2).but.not.own.deep.include.property('someDetail');

最佳答案

我想有多种方法可以做到这一点。这是一种只需要您映射 bArray 的方法仅包含您需要的键的对象,即 titleprice .

然后你可以使用 members 连同 deep .如您所见,不需要数组成员的相同顺序,但需要相同的键。

const aArray = [ { title: 'Abc', price: '1,200' }, { title: 'def', price: '900' } ]

const bArray = [ { title: 'def', price: '900', other: 'someDetail' }, { title: 'Abc', price: '1,200', other: 'someDetail' } ]

const newBArray = bArray.map(({ title, price }) => ({ title, price }))

try {
chai.expect(newBArray).to.have.deep.members(aArray)
} catch (e) {
console.log("Error!", e)
} finally {
console.log("Done with execution.")
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/chai/4.1.2/chai.min.js"></script>

我使用 try/catch/finally 使代码给出有关正在发生的事情的有效提示。

关于javascript - Chai - 检查 2 个对象数组是否具有相同的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47427564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com