如何检查api响应中每个值的数据类型是不是整数?例如,如果我的api返回:
var jsonData = JSON.parse(responseBody);
tests["Team Permissions Do Not Contain Integers"] = typeof(jsonData.teamPermissions) !== "number"
我需要邮递员测试以确保在teamPermission数组中永远不会返回整数。这是我开始但需要帮助的地方:
<input type="radio" name="attr_1" value="1">
<input type="radio" name="attr_1" value="2">
<input type="radio" name="attr_1" value="3">
<input type="radio" name="attr_1" value="4">
<input type="radio" name="attr_1" value="5">
input {
background-color: red;
}
input:checked ~ input {
background-color: black
}
这是因为teamPermissions是一个对象,但是如何检查对象的每个值都不是整数?
答案 0 :(得分:4)
这应该为你做检查:
this.categoryRepository.getAllData<any>(filter,Path);
如果数字是数组的一部分,检查会做什么,我已经注销了这些类型,以便您可以查看它所检查的内容。
另一种选择是使用Lodash,它是Postman原生应用的内置模块。此代码将执行与上面相同的检查:
this.categoryRepository.getAllData<IBaseModelInterface>(filter,Path);
答案 1 :(得分:0)
看起来teamPermissions
是一个数组。
您可以使用Array.prototype.every()
检查所有元素是否都通过了某些条件:
var array1 = [1, 2, 3];
var array2 = ["a", 9, 10];
console.log(array1.every((e) => { return !isNaN(e) })) // True, all elements are numbers
console.log(array2.every((e) => { return !isNaN(e) })) // False
答案 2 :(得分:0)
我认为你可以这样做:
jsonData.forEach((a)=>{
var boolVal=isNaN(a) ? true : false
if(boolVal)
{
tests["Team Permissions Do Not Contain Integers"]=false;
}
});
仅供参考,而不是NaN(a)你也可以做Number.isInteger(a)