javascript - 比较嵌套对象值

标签 javascript

我有一个像这样的对象:

answers = {
   "q1" :  {
        "selected": "a",
        "correct": "b"
        },
   "q2": {
        "selected": "c",
        "correct": "d"
       },
    etc...
}

如何比较所选内容和正确内容?

我正在努力

for (let key in answers) {
    if (key.selected === key.correct) {
        correct++;
    } else {
        incorrect++;
    }
}

但它不起作用。我一直把所有问题都标记为正确。很确定我需要做其他事情来降低对象的级别,但不知道该怎么做。

如果我这样做answers[key].selected ===answers[key]. Correct所有结果都是不正确的

最佳答案

嗯......您正在比较键而不是值,其中 selected Correct 对于这两种情况都将是 undefined 因此正确的。您的意思可能是:

if (answers[key].selected === answers[key].correct) {

关于javascript - 比较嵌套对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43988406/

相关文章:

javascript - dojox mvc 中的两种方式绑定(bind) - 非 dijit、parserExtention

javascript - 为什么 javascript 检测到我已经滚动到元素底部,而实际上我还没有滚动到元素底部?

Javascript:在异步函数中返回一个 promise

javascript - Ruby on Rails 4 : How to include Javascript files in Rails web application?

javascript - jQuery 自定义插件回调 - 新问题

javascript - 如何从名称值对字符串中获取值?

javascript - Onload清除所有文本字段jquery js

java - 将整个 HTML 页面转换为单个 JavaScript 字符串

javascript - 如何取消使用 angucomplete-alt remote-api-handler 发出的请求?

javascript - 如何在php中将动态创建的表中的数据更新到数据库