Javascript 要基于相应的键检查两个对象值数组?
我试图根据特定键比较两个对象值数组。两个对象具有相同的键,基于此,我必须检查值是否相等。一个数组是实际的JSON对象,第二个数组是测试数据,我们必须用JSON对象验证测试数据,而且如果测试数据值相同,它可能会有一些额外的空间,我们也需要修剪该值Javascript 要基于相应的键检查两个对象值数组?,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我试图根据特定键比较两个对象值数组。两个对象具有相同的键,基于此,我必须检查值是否相等。一个数组是实际的JSON对象,第二个数组是测试数据,我们必须用JSON对象验证测试数据,而且如果测试数据值相同,它可能会有一些额外的空间,我们也需要修剪该值 var actualObject= [ { "q1": "componentWillMount" }, { "q2": "willComponentUpdate" }, { "q3": "setState
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;kObject.entries(testData).forEach(function (entry) {
if (actualObject[entry[0]] === entry[1].trim()) {
//answers match
} else {
//answers don't match
}
});
如果不管大小写都需要比较,请将条目[1].trim更改为条目[1].trim.toLowerCase
编辑:
只是提醒您,也许您应该添加一个检查,检查测试数据中的值是否为空/未定义,是否为字符串等。您是否可以用当前输入和预期输出重新表述它?那么,您的代码不包括任何修剪,或者其他任何东西……从代码段的输出中,您只需要修剪测试数据。