Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.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

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

Javascript 如何迭代对象中的特定键?

Javascript 如何迭代对象中的特定键?,javascript,Javascript,如何编写一个函数,该函数包含两个参数(数组responses和字符串),对于isEssayQuestion为true,将字符串参数与响应键值进行比较,如果匹配任何值,则返回true;如果不匹配,则返回false const响应=[ { 问题:“染色体在有丝分裂中排列的阶段是什么?”, 答复:“中期”, 是正确的, 问题:错 }, { 问题:“什么样的解剖结构连接着胃和嘴?”, 回应:"食道",, 是正确的, 问题:错 }, { 问题:“什么是溶酶体?”, 回应:“溶酶体是一种膜结合的细胞器,存在

如何编写一个函数,该函数包含两个参数(数组
responses
字符串
),对于
isEssayQuestion
为true,将
字符串
参数与
响应
键值进行比较,如果匹配任何值,则返回
true
;如果不匹配,则返回
false

const响应=[
{
问题:“染色体在有丝分裂中排列的阶段是什么?”,
答复:“中期”,
是正确的,
问题:错
},
{
问题:“什么样的解剖结构连接着胃和嘴?”,
回应:"食道",,
是正确的,
问题:错
},
{
问题:“什么是溶酶体?”,
回应:“溶酶体是一种膜结合的细胞器,存在于许多动物细胞中。它们是球形囊泡,含有水解酶,可以分解多种生物分子。”,
是正确的,
问题:是吗
},
{
问题:“对还是错:前列腺素只能收缩血管。”,
回答:‘正确’,
I正确:错误,
问题:错
}
];
//范例
检查剽窃(回答,“含有水解酶的球形囊泡”);/>真的
检查是否有剽窃行为(回复,“此字符串不出现在回复中”);/>假的
//我的代码
抄袭功能检查(测试、应答键){
for(设i=0;i
您不需要迭代对象,因为给定的响应本身就是一个数组

除了
return
语句之外,您所做的一切对我来说都很好。 因此,在字符串匹配逻辑的
if
中添加return语句

function checkForPlagiarism(test, answerKey) {
  for (let i = 0; i < test.length; i++) {
    let question = test[i];
    if (question.isEssayQuestion) {
      let response = question.response;
      if (response.includes(answerKey)) return true;
    }
  }
  return false
}
抄袭功能检查(测试、应答键){
for(设i=0;i
您不需要迭代对象,因为给定的响应本身就是一个数组

除了
return
语句之外,您所做的一切对我来说都很好。 因此,在字符串匹配逻辑的
if
中添加return语句

function checkForPlagiarism(test, answerKey) {
  for (let i = 0; i < test.length; i++) {
    let question = test[i];
    if (question.isEssayQuestion) {
      let response = question.response;
      if (response.includes(answerKey)) return true;
    }
  }
  return false
}
抄袭功能检查(测试、应答键){
for(设i=0;i
您的代码已返回正确的值(如果找到匹配项,则返回true;如果未找到匹配项,则返回false),如果未找到匹配项,则只需在for循环后添加一个返回false(不带isEssayQuestion:true)。 对函数调用返回的值执行console.log()检查

示例:

log(检查剽窃(回答,“含有水解酶的球形囊泡”)
console.log(检查剽窃(响应,“此字符串不出现在响应中”)

您的代码已返回正确的值(如果找到匹配项,则返回true;如果未找到匹配项,则返回false);如果未找到匹配项,则只需在for循环后添加一个返回false(没有isEssayQuestion:true)。 对函数调用返回的值执行console.log()检查

示例:

log(检查剽窃(回答,“含有水解酶的球形囊泡”)
console.log(checkfor剽窃(响应,“此字符串不出现在响应中”)

const checkResponses=(resps,checkStr)=>resps.filter(r=>r.iseessayquestion)。一些(r=>r.response.includes(checkStr))
这是否回答了您的问题<代码>常量checkResponses=(resps,checkStr)=>resps.filter(r=>r.isEssayQuestion)。一些(r=>r.response.includes(checkStr))这是否回答了您的问题?谢谢。我知道当我返回
response.includes(answerKey)
时,它只会返回true或false,而不是遍历整个响应列表。对吧?对。您的
return
条件不是字符串匹配,而是
isEssayQuestion
flag非常感谢。我知道当我返回
response.includes(answerKey)
时,它只会返回true或false,而不是遍历整个响应列表。对吧?对。您的
return
条件不是字符串匹配,而是
isEssayQuestion
标志