Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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 - Fatal编程技术网

Javascript 如何检查某个数组值是否作为键存在于对象中

Javascript 如何检查某个数组值是否作为键存在于对象中,javascript,Javascript,有没有一种方法可以检查对象中是否包含键数组,而不需要库或一些嵌套循环 /**传入:*/ constfoo={do:1,ray:1,me:1}; /**检查:*/ 常量字段=['doo','foo','me']; /**将对象键转换为数组*/ const fooArray=Object.keys(foo); fooArray.includes(fields)//我希望这能起作用:( 这是唯一的办法吗 fields.map(field=>{ const bool=foo.hasOwnPropert

有没有一种方法可以检查对象中是否包含键数组,而不需要库或一些嵌套循环

/**传入:*/
constfoo={do:1,ray:1,me:1};
/**检查:*/
常量字段=['doo','foo','me'];
/**将对象键转换为数组*/
const fooArray=Object.keys(foo);
fooArray.includes(fields)//我希望这能起作用:(
这是唯一的办法吗

fields.map(field=>{
const bool=foo.hasOwnProperty(字段);
//如果布尔是真的,做点什么
});
如果
字段
中的任何键名在对象
foo
中,我想返回
true
。如果有更简单的方法,我宁愿不执行ant循环。谢谢。

With and
hasOwnProperty()

/**传入:*/
constfoo={do:1,ray:1,me:1};
/**检查:*/
常量字段=['doo','foo','me'];
/**将对象键转换为数组*/
const fooArray=Object.keys(foo);
var res=fields.some(field=>foo.hasOwnProperty(field));

console.log(res);
Object.keys()。一些(k=>fields.includes(k))
任何解决方案都会以某种方式使用某种迭代。尽管我不确定为什么这是不可取的。@FelixKling也可以反转为
字段。一些(foo中的field=>field)
。如果您想对
n
项执行某些操作,则必须以这种或那种方式至少迭代
n
次。@Sylar
有些
/
每个
都会尽快退出。但是,任何迭代都是
O(n)
因为您必须潜在地评估所有
n
项。您可能只评估一个子集并不重要。