Javascript 检索JSON-5中的特定数组值

Javascript 检索JSON-5中的特定数组值,javascript,json,angular,typescript,Javascript,Json,Angular,Typescript,我正在尝试检索jSON中的特定值(“isRight”)。尝试了stackoverflow上提供的各种解决方案,并将我的代码与其中一个进行了匹配,但我得到的值是未定义的。(没有错误) JSON: .ts: filterAnswer(i:编号) { 对于(i=1;ix.QuestionID==i).isRight; } } 我想将检索到的值存储在变量“isRyt”中。根据您给出的代码,“QuestionID”是字符串,但“I”是数字,因此它应该给出一个错误,如“==”运算符不能应用于“字符串”和“

我正在尝试检索jSON中的特定值(“isRight”)。尝试了stackoverflow上提供的各种解决方案,并将我的代码与其中一个进行了匹配,但我得到的值是未定义的。(没有错误) JSON:

.ts:

filterAnswer(i:编号)
{
对于(i=1;ix.QuestionID==i).isRight;
}
}

我想将检索到的值存储在变量“isRyt”中。

根据您给出的代码,“QuestionID”是字符串,但“I”是数字,因此它应该给出一个错误,如“==”运算符不能应用于“字符串”和“数字”类型。。我在检查您的代码时遇到此错误

{
         this.isRyt  = this.questArrayNew1.find(x=>{
              if(x.QuestionID === i){ return x.isRight }
})}
因此,首先尝试在相同的数据类型之间进行比较。可能是因为这个原因,您的比较
x=>x.QuestionID==i
失败,并且该值未定义

“QuestionID”:1
替换为
“QuestionID”:“1”

更正后,您将获得如下isRyt值:


我想你在期待这个结果。

你真的需要做
数组#查找
?如果数组的每个元素在数组中都有
QuestionID
=元素索引,则只需执行
this.isRyt=this.questArrayNew1[i].isRight
此外,您在每次迭代中都覆盖了
this.isRyt
,我不认为这是您想要做的。是的,bugs,我需要在每次迭代中覆盖这个。isRyt公平地说,建议的解决方案对您有帮助吗?抛出一个错误:无法读取未定义的属性'isRight',在“find(”之后为语句返回一个错误as:类型“void”不可分配给类型“boolean”,这对您很有帮助..那么请向上投票并接受此作为答案我向上投票bud但我如何接受此作为答案?抱歉,我是StackOverflown的新手问题..您要选择的答案将在答案左上角的上/下箭头下方有一个灰色复选标记。单击勾选标记!一旦变成绿色,答案就被接受。如果你有足够的声誉,你也可以投票。你可以参考链接
 filterAnswer(i:number)
      {
      for(i=1 ; i <= this.questArrayNew1.length ; i++)

      {
        console.log(i);
        console.log(this.questArrayNew1);
        this.isRyt  = this.questArrayNew1.find(x=>x.QuestionID == i).isRight;


      }
      }
{
         this.isRyt  = this.questArrayNew1.find(x=>{
              if(x.QuestionID === i){ return x.isRight }
})}