我有一个对象数组,看起来像这样:
用户表格
{
name:"Tom",
occupation:"Programmer",
hobbies:" ",
foodAllergy:"fish",
favoriteColor:"blue"
}
而
ValidateFieldsArray
看起来像这样:["hobbies", "foodAllergy", "name"]
我需要验证在
ValidateFieldsArray
对象数组中的UserForm
中是否填充了字符串。由于hobbies
为空,它将返回false。目前,我正在使用For循环遍历validateFieldsArray,它工作正常。我想知道是否有更好的解决方案。我也
trim
字符串。我不能使用lodash,因为我在比较键而不是值。我想做这样的事情,并添加其他检查,例如string.trim()!==“”:
_.result(_.find(UserForm, { key in ValidateFieldsArray}), value);
最佳答案
使用Array.every
似乎更适合检查数组中的每个键
var isValid = ValidateFieldsArray.every( v => UserForm[v] && UserForm[v].trim().length);