Javascript试图遍历对象数组以显示其属性

时间:2013-12-18 20:59:38

标签: javascript jquery json foreach

我有一个json对象,其中包含具有类似属性的对象数组。我正在尝试遍历每个对象的数组并显示它们各自的属性。这是我到目前为止所拥有的......

Object.keys(jsoncont)
    .sort(function(a,b) {
        return b.localeCompare(a)
})
.forEach(function(key) {
    var val = jsoncont[key];

    $('#contactSearchResults').html('<div class="resultset"><input type="radio" name="customer_c_id" value="' + val.id + '" /></div><div class="resultset">' + val.first + '</div><div class="resultset">' + val.last + '</div><div class="resultset">' + val.email + '</div>');

});

这只返回数组中的一个对象。有人可以向我解释如何遍历所有对象而不是只返回键中的第一个结果吗?

2 个答案:

答案 0 :(得分:1)

可能是因为您在每次迭代时都设置了#contactSearchResults的内容。如果要将它们全部打印到DOM

,请尝试将其更改为append
$('#contactSearchResults').append('<div class="resultset"><input type="radio" name="customer_c_id" value="' + val.id + '" /></div><div class="resultset">' + val.first + '</div><div class="resultset">' + val.last + '</div><div class="resultset">' + val.email + '</div>');

答案 1 :(得分:0)

试试这个:

var allitems = "";
Object.keys(jsoncont)
.sort(function(a,b) {
    return b.localeCompare(a)
})
.forEach(function(key) {
    var val = jsoncont[key];

    allitems += '<div class="resultset"><input type="radio" name="customer_c_id" value="' + val.id + '" /></div><div class="resultset">' + val.first + '</div><div class="resultset">' + val.last + '</div><div class="resultset">' + val.email + '</div>';
});
$('#contactSearchResults').html(allitems)