在javascript中检索键值

时间:2015-02-05 07:28:04

标签: javascript html

我正在尝试从api响应中显示密钥的值。我的代码看起来像

if(response[0].status == "Success")
            {
                alert('success');
            }
            else
            {
                var texts = "";
                for (reasons in response[0].error_reason) {
                    texts += reasons+";";
            }
                alert(texts);
            }

我的关键是" item"它的值是"选择一个有效的项目" 。我想在警报中打印值。当我尝试提醒其显示键(项目)而不是值时,请尝试。我怎样才能在这里显示键值。也可以有像项目一样的多个键。

1 个答案:

答案 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] +";";

这应该按预期工作。