Javascript 如何验证对象2中是否存在来自对象1的密钥?

Javascript 如何验证对象2中是否存在来自对象1的密钥?,javascript,node.js,json,python-3.x,validation,Javascript,Node.js,Json,Python 3.x,Validation,我有一个数组,其中包含所有可能的输入值。现在,我想根据我拥有的数组验证输入。若数组中并没有所有的输入键,那个么它应该抛出错误,若数组中有所有的输入键,那个么它应该打印OK。我可以接受任何nodejs或python运行时。请给我一个更好的方法,因为我不想使用像foreach这样的东西来迭代所有元素。提前谢谢 1- 如果是上述情况,则应打印一些错误 2- 在这种情况下,它应该打印为OK。在python中,您可以在其他iterable上使用set.intersection: >>>

我有一个数组,其中包含所有可能的输入值。现在,我想根据我拥有的数组验证输入。若数组中并没有所有的输入键,那个么它应该抛出错误,若数组中有所有的输入键,那个么它应该打印OK。我可以接受任何nodejs或python运行时。请给我一个更好的方法,因为我不想使用像foreach这样的东西来迭代所有元素。提前谢谢

1-

如果是上述情况,则应打印一些错误

2-

在这种情况下,它应该打印为OK。

在python中,您可以在其他iterable上使用set.intersection:

>>> l = ['a','b','c','d']
>>> inputJson = {'a':1,'b':2}
>>> set(inputJson.keys()).intersection(l)
{'a', 'b'}
>>> set(l).intersection(inputJson.keys())
{'a', 'b'}
在python中使用all

例:


Node.js中的解决方案。希望这对你有帮助

function validate(){
  var array = [a,b,c,d];
  var inputJson = {a:1,z:2}

  for(key in inputJson){
    if(array.indexOf(key) === -1){
      return 'ERROR'
    }
  }
  return 'OK'
}
变量数组=['a','b']; var-inputJson={a:1,z:2};
常数ok=!Object.KeyInputJSON.findkey=>!array.includeskey;为什么这里混合了python和javascript?您可以参考
>>> l = ['a','b','c','d']
>>> inputJson = {'a':1,'b':2}
>>> set(inputJson.keys()).intersection(l)
{'a', 'b'}
>>> set(l).intersection(inputJson.keys())
{'a', 'b'}
array = ["a","b","c","d"]
inputJson = {"a":1,"z":2}

if all(k in array for k in inputJson):
    print("Ok..")
else:
    print("Error!")

# --> Error!
array = ["a","b","c","d"]
inputJson = {"a":1,"b":2}

if all(k in array for k in inputJson):
    print("Ok..")
else:
    print("Error!")

# --> Ok..
function validate(){
  var array = [a,b,c,d];
  var inputJson = {a:1,z:2}

  for(key in inputJson){
    if(array.indexOf(key) === -1){
      return 'ERROR'
    }
  }
  return 'OK'
}