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

Javascript trying to iterate through an array of objects to display their properties

本文关键字:显示 属性 数组 对象 遍历 Javascript      更新时间:2023-09-26

我有一个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>');
});

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

可能是

因为您设置了每次迭代#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>');

试试这个:

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)