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

Javascript 要基于相应的键检查两个对象值数组?

Javascript 要基于相应的键检查两个对象值数组?,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我试图根据特定键比较两个对象值数组。两个对象具有相同的键,基于此,我必须检查值是否相等。一个数组是实际的JSON对象,第二个数组是测试数据,我们必须用JSON对象验证测试数据,而且如果测试数据值相同,它可能会有一些额外的空间,我们也需要修剪该值 var actualObject= [ { "q1": "componentWillMount" }, { "q2": "willComponentUpdate" }, { "q3": "setState

我试图根据特定键比较两个对象值数组。两个对象具有相同的键,基于此,我必须检查值是否相等。一个数组是实际的JSON对象,第二个数组是测试数据,我们必须用JSON对象验证测试数据,而且如果测试数据值相同,它可能会有一些额外的空间,我们也需要修剪该值

   var actualObject= [
  {
    "q1": "componentWillMount"
  },
  {
    "q2": "willComponentUpdate"
  },
  {
    "q3": "setState"
  },
  {
    "q4": "componentUpdated"
  }
]

Var testData =[
{q1: "componentWillMount"},
{q2: "willComponentUpdate"},
{q3: " PropTypes"},
{q4: "componentDidMount"}]
在选择单选按钮时,我将从Html代码中获取testData值。现在我需要用实际的JSON检查有多少答案是正确的

它的JS代码:

var marks= 0;
var wrong = 0;
for(var k =0 ; k<actualObject.length;k++){
if(JSON.stringify(actualObject[k]) == JSON.stringify(testData[k])){
    marks++;
}
else {
    wrong++;
}
}
变量实际值对象=[{ q1:组件将安装 }, { 问题2:willComponentUpdate }, { 问题3:设置状态 }, { 问题4:组件更新 } ] var testData=[{ q1:组件将安装 }, { 问题2:willComponentUpdate }, { 问题3:道具类型 }, { 问题4:组件安装 } ]; var评分=0; var=0; 对于var k=0;kconsole.logmarks,错误 如果我理解正确的话,类似这样的方法应该有效:

Object.entries(testData).forEach(function (entry) {
    if (actualObject[entry[0]] === entry[1].trim()) {
        //answers match
    } else {
        //answers don't match
    }
});
如果不管大小写都需要比较,请将条目[1].trim更改为条目[1].trim.toLowerCase

编辑:
只是提醒您,也许您应该添加一个检查,检查测试数据中的值是否为空/未定义,是否为字符串等。

您是否可以用当前输入和预期输出重新表述它?那么,您的代码不包括任何修剪,或者其他任何东西……从代码段的输出中,您只需要修剪测试数据。