我正在尝试创建 2 个空白对象,运行一个填充其中 1 个的 php 循环,然后将这些对象扩展在一起......最终创建 1 个对象,其中包含许多对象。
这是逻辑/代码(注意,服务器的东西是专有的,但它运行 php 并且工作正常):
var allUsers = {};
var singleUser = {};
$(document).ready(function(){
<fm:UserList
fields="id,firstname,lastname,geo_latitude,geo_longitude,meta,externalids"
>
<fm:Loop>
singleUser = {
'index' : '{$loop.index}',
'id' : '{$user.id}',
'firstname' : '{$user.firstname}',
'lastname' : '{$user.lastname}',
'geo_latitude' : '{$user.geo_latitude}',
'geo_longitude' : '{$user.geo_longitude}',
'company' : '{$user.meta.company}',
'twitter' : '{$user.meta.twitter}',
'externalprovider' : '{$user.externalids.0.external_id_provider}',
'externalid' : '{$user.externalids.0.external_parsed_id}'
}
/* Merge singleUser into allUsers */
$.extend(allUsers,singleUser);
</fm:Loop>
</fm:UserList>
console.log(allUsers);
});
这是页面上的内容:
var allUsers = {};
var setUser = {};
$(document).ready(function(){
setUser = {
'index' : '0',
'id' : '1930039',
'firstname' : 'Devo',
'lastname' : 'Brown',
'geo_latitude' : '-46.81610453612681',
'geo_longitude' : '-70.6640625',
'company' : 'Filemobile',
'twitter' : 'devinbrownca',
'externalprovider' : '',
'externalid' : ''
}
/* Merge setUser into passed allUsers */
$.extend(allUsers,setUser);
setUser = {
'index' : '1',
'id' : '1930025',
'firstname' : 'Aidan',
'lastname' : 'Roach',
'geo_latitude' : '51.032184898096396',
'geo_longitude' : '-108.6328125',
'company' : '',
'twitter' : '',
'externalprovider' : '',
'externalid' : ''
}
/* Merge setUser into passed allUsers */
$.extend(allUsers,setUser);
setUser = {
'index' : '2',
'id' : '1930024',
'firstname' : 'Devin',
'lastname' : 'Brown ',
'geo_latitude' : '42.89743256946478',
'geo_longitude' : '-101.6015625',
'company' : '',
'twitter' : '',
'externalprovider' : '',
'externalid' : ''
}
/* Merge setUser into passed allUsers */
$.extend(allUsers,setUser);
console.log(allUsers);
});
在函数结束时,控制台只记录一个对象,即最后创建的对象。
知道我做错了什么吗?