Array.each输出所有方法

时间:2009-11-24 16:38:42

标签: javascript arrays prototype

为什么会......

for(var k in this.errors) {
        $('error_list').insert({
            bottom: new Element('li').update(k + ' :'+this.errors[k])
        })
    }

...输出放置所有Prototype可枚举方法,加上我添加到数组中的那些?

我正在建立一个关联数组:

this.errors['email'] = 'Your email is invalid';

3 个答案:

答案 0 :(得分:2)

您需要使用“hasOwnProperty”来防范这种情况。

答案 1 :(得分:2)

您可以使用 hasOwnProperty

来阻止此操作
for(var k in this.errors) {
    if (this.errors.hasOwnProperty(k)) {
        $('error_list').insert({
            bottom: new Element('li').update(k + ' :'+this.errors[k])
        })
    }
}

答案 2 :(得分:1)

试试这个:

$H(this.errors).each(function(error) {
    $('error_list').insert({
        bottom: new Element('li').update(error.key + ': ' + error.value)
    })
})