函数中有一个空的JS
对象
var globalDataObject = [{}];
然后,有一个遍历用户数组的循环,将每个用户的属性存储在变量(例如name
,lastName
等)中,并为每个用户创建一个对象用户:
//create an object containing the current name
const currentObject = {
'profile': {
'name': nameVariable,
'lastName': lastNameVariable
}
};
创建后,将currentObject
的数据添加到globalDataObject
的正确方法是什么?因此,globalDataObject
的结尾应该是:
var globalDataObject = [
'profile': {
'name': 'John',
'lastName': 'Smith'
},
'profile': {
'name': 'Ann',
'lastName': 'Lee'
},
'profile': {
'name': 'Dan',
'lastName': 'Brown'
}
];
重要的是,globalDataObject
必须是指定格式的JS
对象(不是包含多个对象而不是数组的对象),因为一旦创建,它将被转换为{{ 1}}。
答案 0 :(得分:2)
您可以像数组一样创建全局对象:
globalDataObject = [];
然后将其推入
globalDataObject.push(currentObject);
答案 1 :(得分:1)
我不明白问题的最终目的,以及为什么您不像以前建议的那样仅使用.push()。您尚未接受该答案,因此我认为这不是最终目标。
globalDataObject必须是指定格式的JS对象(不是 包含多个对象而不是数组的对象
1)您提供的格式无效的JavaScript。 2)为什么不能有一个对象数组或带有下一个对象的对象并将其隐藏为xml 3)为什么首先要将json转换为xml。
我将进行一个大胆的猜测,并假设您将globalDataObject输入为数组,并将其表示为具有多个“配置文件”键的对象。都不是有效的javascript。
由于您不能有多个具有相同名称的键,并且期望它们具有不同的值,因此我建议您为每个配置文件使用唯一的“索引”。(例如数组...但是一个对象)。
// init the object
const userProfiles = {};
// then later add to it like this.
let profile1 = {name: "john", lastname: "smith"};
let profile2 = {name: "alice", lastname: "wonderland"};
userProfiles[1] = profile1;
userProfiles[2] = profile2;
// you can then torn it into an array of user profile objects like this
Object.keys(userProfiles).map((index) => {return userProfiles[index];})