gpt4 book ai didi

javascript - 测试对象是否具有多个属性

转载 作者:数据小太阳 更新时间:2023-10-29 05:33:06 26 4
gpt4 key购买 nike

我在检查这个对象时遇到问题,我需要做些什么来链接多个 .to.have.property 语句吗?我相信我只是将上一个 .to.have.property 的结果返回到下一个。

expect(shopify.formatRequestOptions("shop"))
.to.have.property('url', "https://"+settings.shop+"/admin/shop.json")
.to.have.property('method', "GET")
.to.have.deep.property('headers.X-Shopify-Access-Token', settings.accessToken)

看来我可以用这样的东西chai-subset检查一个对象。没有办法将它们链接在一起吗?我不愿意这样做。

var result = shopify.formatRequestOptions("shop")
expect(result).to.have.property('url', "https://"+settings.shop+"/admin/shop.json")
expect(result).to.have.property('method', "GET")
expect(result).to.have.deep.property('headers.X-Shopify-Access-Token', settings.accessToken)

最佳答案

可以构建您自己的函数,它只返回 true/false 并具有任何接口(interface)。

let example = {
'name': 'thomas'
}

let hasAllProps = (obj, props) => {
let propsTrue = _.chain(props)
.map(prop => _.has(obj, prop))
.without(false)
.value()
return (propsTrue.length === props.length)
}

console.log(hasAllProps(example, ['name'])) // true
console.log(hasAllProps(example, ['age'])) // false

关于javascript - 测试对象是否具有多个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31192198/

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