Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript试图遍历对象数组以显示其属性_Javascript_Jquery_Json_Foreach - Fatal编程技术网

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

Javascript试图遍历对象数组以显示其属性,javascript,jquery,json,foreach,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 c

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

});
Object.keys(jsoncont)
.排序(功能(a、b){
返回b.localeCompare(a)
})
.forEach(功能(键){
var val=jsoncont[key];
$('#contactSearchResults').html(''+val.first+''+val.last+''+val.email+'');
});

这只返回数组中的一个对象。有人能告诉我如何遍历所有对象,而不是只返回键中的第一个结果吗?

可能是因为您正在设置每次迭代的内容。如果要将它们全部打印到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>');
$('#contactSearchResults')。追加(''+val.first+''+val.last+''+val.email+'');
试试这个:

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)
var allitems=”“;
key(jsoncont)
.排序(功能(a、b){
返回b.localeCompare(a)
})
.forEach(功能(键){
var val=jsoncont[key];
allitems+=''+val.first+''+val.last+''+val.email+'';
});
$('#contactSearchResults').html(allitems)

脚本是否在onload事件之后启动?作为旁注,使用
Object.keys
时请注意,因为它仅在IE>=9中受支持。有关更多信息,请参阅问题。请不要支持IE8。就是这样!非常感谢你。