У меня есть массив, который содержит несколько объектов:
var getUsers = function (){
allUsers = [];
$().SPServices({
operation: "GetUserCollectionFromSite",
completefunc: function(xData, Status){
var responseXML = $(xData.responseXML);
responseXML.find("User").each(function(){
allUsers.push({
id: $(this).attr("ID"),
name: $(this).attr("Name"),
domain: $(this).attr("LoginName"),
email: $(this).attr("Email"),
isAdmin: $(this).attr("IsSiteAdmin")
});
});
}
});
return allUsers;
}
Я пытаюсь изменить его так, чтобы вместо использования массива allUsers
был объектом, а свойство верхнего уровня было идентификатором, и каждое свойство идентификатора содержало информацию о пользователе.
Это то, что я пробовал, но по какой-то причине мое приложение останавливается.
var getUsers = function (){
allUsers = {};
$().SPServices({
operation: "GetUserCollectionFromSite",
completefunc: function(xData, Status){
var responseXML = $(xData.responseXML);
responseXML.find("User").each(function(){
//This is pretty much where I'm at a lost
allUsers[$(this).attr("ID")]:{
name: $(this).attr("Name"),
domain: $(this).attr("LoginName"),
email: $(this).attr("Email"),
isAdmin: $(this).attr("IsSiteAdmin")
};
});
}
});
return allUsers;
}
Я пытаюсь получить объект, который структурирован следующим образом:
var allUsers = {
"68": {
id: 68,
name: 'mike',
domain: 'i: 0#.f | admembers | mike.ca',
email: 'mike.ca',
isAdmin: false
}
};
PS: извините за плохой заголовок.