我有一个像这样的数组
var thisArray = [{lat : -123123,
lng : 123123123,
time : 1494976756},
{lat : -123123,
lng : 1233,
time : 1495235956
}]
我想在每天循环播放,有人可以帮助我,在输出过程中我想要这样:
var tempThisArray = [];
tempThisArray.push({1494976756 : {lat : -123123 ,long: 123123123}});
答案 0 :(得分:0)
你写得不多,但我认为这就是你要找的......
你实际上并不需要jQuery,你可以使用Array forEach,它可以在IE9 +中运行。您可能一直遇到直接在array.push中分配对象键的问题。如果要从变量中分配对象键,则需要首先定义对象,然后再将其推送到数组。
var tempThisArray = [];
var thisArray = [
{
'lat': -123123,
'lng': 123123123,
'time': 1494976756
},
{
'lat': -123123,
'lng': 1233,
'time': 1495235956
}
];
var tempObj = {};
thisArray.forEach(function(item, index){
tempObj = {};
tempObj[item['time']] = {
'lat': item['lat'],
'long': item['lng']
};
tempThisArray.push(tempObj);
});
console.log(tempThisArray);
JSfiddle:https://jsfiddle.net/rn709ks2/1/