Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从列表中查找对象数组中的值_Javascript_Arrays_String_Lodash - Fatal编程技术网

Javascript 从列表中查找对象数组中的值

Javascript 从列表中查找对象数组中的值,javascript,arrays,string,lodash,Javascript,Arrays,String,Lodash,我有一个如下所示的对象数组: ["hobbies", "foodAllergy", "name"] 用户窗体 { name:"Tom", occupation:"Programmer", hobbies:" ", foodAllergy:"fish", favoriteColor:"blue" } 以及一个如下所示的ValidateFieldsArray: ["hobbies", "foodAllergy", "name"] 我需要验证是否有从UserForm对象数组中的Validat

我有一个如下所示的对象数组:

["hobbies", "foodAllergy", "name"]
用户窗体

{ 
name:"Tom",
occupation:"Programmer",
hobbies:" ",
foodAllergy:"fish",
favoriteColor:"blue" 
}
以及一个如下所示的
ValidateFieldsArray

["hobbies", "foodAllergy", "name"]
我需要验证是否有从
UserForm
对象数组中的
ValidateFieldsArray
填充的字符串。它将返回false,因为
嗜好
为空

目前,我正在使用For循环遍历validateFieldsArray,效果很好。我想知道是否有更好的解决办法。我还
trim
字符串

我不能使用lodash,因为我比较的是键而不是值。我想这样做,并添加额外的检查,如string.trim()==“”:

返回
UserForm
对象(如果有效),否则返回布尔值
false
。对象的字符串必须不仅仅包含空格。如果将
let
替换为
var
和箭头函数,则代码是有效的ES 5,并可返回IE 9


返回
UserForm
对象(如果有效),否则返回布尔值
false
。对象的字符串必须不仅仅包含空格。如果将
let
替换为
var
和箭头函数,则该代码是有效的ES 5并可返回IE 9。

使用
数组。每个
似乎更适合检查数组中的每个键

var isValid = ValidateFieldsArray.every( v => UserForm[v] && UserForm[v].trim().length);

使用
Array.each
似乎更适合检查数组中的每个键

var isValid = ValidateFieldsArray.every( v => UserForm[v] && UserForm[v].trim().length);

是否需要对字符串进行长度检查?空字符串是错误的。还是比我的好。@JaredSmith-不,可能不需要
长度检查
字符串的长度检查有必要吗?空字符串是错误的。还是比我的好。@JaredSmith-不,可能不需要检查
长度