Это потому, что вы регистрируете всех пользователей как одного в последнем forEach.Который дает вам этот вывод.Сначала вы выводите все «заголовки», а затем выводите всех пользователей.
Вместо того, чтобы добавлять пользователей в массив, вы должны рассмотреть возможность его регистрации.
userList.forEach(function(element) {
console.log(element.name)
element.users.forEach(function (element) {
console.log(element.name);
})
})
var userList =[{id:2,name:'Admin', users:[{id:2, name:'Test#1'},{id:3,name:'test#4'}]},{id:2,name:'Manager', users:[{id:2, name:'test#2'}]},{id:2,name:'Head', users:[{id:2, name:'test#3'}]}];
userList.forEach(function(element) {
console.log(element.name)
element.users.forEach(function (element) {
console.log(element.name);
})
})