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 andhasOwnProperty()
:
/**传入:*/
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
项。您可能只评估一个子集并不重要。