我正在尝试从api响应中显示密钥的值。我的代码看起来像
if(response[0].status == "Success")
{
alert('success');
}
else
{
var texts = "";
for (reasons in response[0].error_reason) {
texts += reasons+";";
}
alert(texts);
}
我的关键是" item"它的值是"选择一个有效的项目" 。我想在警报中打印值。当我尝试提醒其显示键(项目)而不是值时,请尝试。我怎样才能在这里显示键值。也可以有像项目一样的多个键。
答案 0 :(得分:1)
正如您所提到的,JavaScript中的foreach
循环遍历键,这意味着代码中的reasons
变量将在每次迭代后设置为新键。要访问该值,只需使用reasons
变量作为索引,如下所示:
var texts = "";
for (reasons in response[0].error_reason) {
texts += reasons + " = " + response[0].error_reason[reasons] +";";
}
但是,你应该小心使用Javascript中的foreach
,因为它会遍历所有对象的属性,包括对象原型的功能,例如:你最终会得到indexOf
作为循环中的关键。为避免这种情况,您应该检查值的类型:
var texts = "";
for (reasons in response[0].error_reason)
if(typeof(response[0].error_reason[reasons]) !== 'function')
texts += reasons + " = " + response[0].error_reason[reasons] +";";
这应该按预期工作。