我正在将对象数组发送到服务器并尝试对其进行验证,但是我失败了,它不会做任何事情,如果数组为空或者两个都不有效,那么它就行不通了,我想知道为什么吗?
这是我使用的代码:
const ingredientValidator = ingredients.some(({ingredient, quantity})=>{
ingredient.trim().length == 0 || quantity.trim().length == 0
})
if(ingredientValidator){
return res.status(409).send({
message: 'fully point ingredients'
})
}
这是什么问题?
对象数组的PS示例:
[
{
ingredient:'foo',
quantity:'bar'
},
{
ingredient:'foo',
quantity:'bar'
},
{
ingredient:'foo',
quantity:'bar'
}
]
我该如何解决问题?
答案 0 :(得分:2)
我认为您只需要更改ingredientValidator
的返回值即可:
const ingredientValidator = ingredients.some(({ingredient, quantity})=>{
return ingredient.trim().length == 0 || quantity.trim().length == 0
});
// or
const ingredientValidator = ingredients.some(({ingredient, quantity})=>
ingredient.trim().length == 0 || quantity.trim().length == 0
);
当箭头后面有大括号时,它实际上是一个普通的功能块,需要使用return
才能传递任何内容。您也可以只删除卷曲的块,它应该按照预期的方式获得隐式回报。