Javascript 检索JSON-5中的特定数组值
我正在尝试检索jSON中的特定值(“isRight”)。尝试了stackoverflow上提供的各种解决方案,并将我的代码与其中一个进行了匹配,但我得到的值是未定义的。(没有错误) JSON: .ts: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”是数字,因此它应该给出一个错误,如“==”运算符不能应用于“字符串”和“
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 }
})}