Я изменил вашу функцию отображения, поэтому значения объекта накапливаются для одного объекта, который затем возвращается:
function createobj(arrobj){
var newobj = Object.assign({}, ...arrobj.map(e => {
var acc = {};
for (let value of Object.values(e.fields)) {
acc[value] = value;
}
return acc;
}));
return newobj
}
// Test 1
var arrobj = [{
fields: {
service: "finance",
country: "SG"
}
}]
console.log("Test 1:", createobj(arrobj));
// Test 2
var arrobj2 = [{
fields: {
service: "finance",
country: "SG"
}
}, {
fields: {
service: "finance2",
country: "SG2"
}
}]
console.log("Test 2:", createobj(arrobj2));