Javascript 断言JSON数组包含一个属性

Javascript 断言JSON数组包含一个属性,javascript,postman,chai,web-api-testing,Javascript,Postman,Chai,Web Api Testing,我有一个设备商店项目,允许添加/删除/编辑设备,我正在尝试在postman中测试,在一篇文章之后,将设备添加到列表中,可以在我的回复正文中找到设备。我使用postman BDD和Chai sintax [ { "deviceid": "5a72fec0-a220-4484-a058-e1e56dfc56c5", "name": "Huawei", "alias": "electronics", "quantity": 10, "price": 200,

我有一个设备商店项目,允许添加/删除/编辑设备,我正在尝试在postman中测试,在一篇文章之后,将设备添加到列表中,可以在我的回复正文中找到设备。我使用postman BDD和Chai sintax

[
{
    "deviceid": "5a72fec0-a220-4484-a058-e1e56dfc56c5",
    "name": "Huawei",
    "alias": "electronics",
    "quantity": 10,
    "price": 200,
    "categoryid": "91a71dc0-4d40-4d20-a59d-bb30a348a7f2",
    "links": []
},
{
    "deviceid": "90807800-c66c-46ec-ae46-687464e62797",
    "name": "Pixel 2",
    "alias": "electronics",
    "quantity": 10,
    "price": 300,
    "categoryid": "91a71dc0-4d40-4d20-a59d-bb30a348a7f2",
    "links": []
},
{
    "deviceid": "c2bd507d-e544-4ce8-b272-34cab732adb4",
    "name": "SONYk",
    "alias": "electronicsm",
    "quantity": 122,
    "price": 2222,
    "categoryid": "91a71dc0-4d40-4d20-a59d-bb30a348a7f2",
    "links": []
},
{
    "deviceid": "caa97d05-2672-48c5-8c56-e0da1298b20d",
    "name": "ASUS1",
    "alias": "electronics",
    "quantity": 1222,
    "price": 2222,
    "categoryid": "11535983-b9d0-4a0f-8d53-ca204446e0b8",
    "links": []
}
]

这是我的回答,因为可以看到它返回一个JSON数组,我正在寻找一种优雅的方式来断言属性为“Pixel 2”的设备在数组中。我欢迎任何其他javascript库帮助我实现这一目标。

您可以使用:


结果是一个布尔值。

不需要库。您可以使用:


您可以使用
find
方法,该方法接受回调提供的函数

var数组=[
{
“设备ID”:“5a72fec0-a220-4484-a058-e1e56dfc56c5”,
“名称”:“华为”,
“别名”:“电子”,
“数量”:10,
“价格”:200美元,
“类别ID”:“91a71dc0-4d40-4d20-a59d-bb30a348a7f2”,
“链接”:[]
},
{
“设备ID”:“90807800-c66c-46ec-ae46-687464e62797”,
“名称”:“像素2”,
“别名”:“电子”,
“数量”:10,
“价格”:300美元,
“类别ID”:“91a71dc0-4d40-4d20-a59d-bb30a348a7f2”,
“链接”:[]
},
{
“设备ID”:“c2bd507d-e544-4ce8-b272-34cab732adb4”,
“姓名”:“SONYk”,
“别名”:“电子化”,
“数量”:122,
“价格”:2222,
“类别ID”:“91a71dc0-4d40-4d20-a59d-bb30a348a7f2”,
“链接”:[]
},
{
“设备ID”:“caa97d05-2672-48c5-8c56-e0da1298b20d”,
“名称”:“ASUS1”,
“别名”:“电子”,
“数量”:1222,
“价格”:2222,
“类别ID”:“11535983-b9d0-4a0f-8d53-ca204446e0b8”,
“链接”:[]
}];
var item=array.find(函数(项){
返回项。名称==“像素2”;
});
控制台日志(项目);
log(“存在:”+项!=未定义)与一起使用以查找您的项目是否存在

const数组=[{
“设备ID”:“5a72fec0-a220-4484-a058-e1e56dfc56c5”,
“名称”:“华为”,
“别名”:“电子”,
“数量”:10,
“价格”:200美元,
“类别ID”:“91a71dc0-4d40-4d20-a59d-bb30a348a7f2”,
“链接”:[]
},
{
“设备ID”:“90807800-c66c-46ec-ae46-687464e62797”,
“名称”:“像素2”,
“别名”:“电子”,
“数量”:10,
“价格”:300美元,
“类别ID”:“91a71dc0-4d40-4d20-a59d-bb30a348a7f2”,
“链接”:[]
},
{
“设备ID”:“c2bd507d-e544-4ce8-b272-34cab732adb4”,
“姓名”:“SONYk”,
“别名”:“电子化”,
“数量”:122,
“价格”:2222,
“类别ID”:“91a71dc0-4d40-4d20-a59d-bb30a348a7f2”,
“链接”:[]
},
{
“设备ID”:“caa97d05-2672-48c5-8c56-e0da1298b20d”,
“名称”:“ASUS1”,
“别名”:“电子”,
“数量”:1222,
“价格”:2222,
“类别ID”:“11535983-b9d0-4a0f-8d53-ca204446e0b8”,
“链接”:[]
}
];
const hasPixel2=array.filter(item=>item.name==='Pixel 2')。长度>0;
console.log(hasPixel2)
数组#过滤器

var数组=[
{
“设备ID”:“5a72fec0-a220-4484-a058-e1e56dfc56c5”,
“名称”:“华为”,
“别名”:“电子”,
“数量”:10,
“价格”:200美元,
“类别ID”:“91a71dc0-4d40-4d20-a59d-bb30a348a7f2”,
“链接”:[]
},
{
“设备ID”:“90807800-c66c-46ec-ae46-687464e62797”,
“名称”:“像素2”,
“别名”:“电子”,
“数量”:10,
“价格”:300美元,
“类别ID”:“91a71dc0-4d40-4d20-a59d-bb30a348a7f2”,
“链接”:[]
},
{
“设备ID”:“c2bd507d-e544-4ce8-b272-34cab732adb4”,
“姓名”:“SONYk”,
“别名”:“电子化”,
“数量”:122,
“价格”:2222,
“类别ID”:“91a71dc0-4d40-4d20-a59d-bb30a348a7f2”,
“链接”:[]
},
{
“设备ID”:“caa97d05-2672-48c5-8c56-e0da1298b20d”,
“名称”:“ASUS1”,
“别名”:“电子”,
“数量”:1222,
“价格”:2222,
“类别ID”:“11535983-b9d0-4a0f-8d53-ca204446e0b8”,
“链接”:[]
}];
var item=array.filter(item=>item.name==“像素2”);
控制台日志(项目)
response.some( o => o.name == "Pixel 2" )
if (response.some(i => i.name == 'Pixel 2')) {
  // ...
}