我有一个对象数组,看起来像这样:

用户表格

{
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);

08-18 20:51