У меня есть этот объект. Я хочу добавить к ним «историю ускорений», поэтому у меня появилась блестящая идея сделать из этого объекта ускорения массив.
var connectedEstimotes = [{
id : 'n/a',
temp : 'n/a',
acceleration: [{x:'n/a',y:'n/a',z:'n/a'}],
isMoving : 'notSure',
batt : 'n/a',
motionStateDuration : { current:{number:'n/a',unit:'n/a'},previous:{number:'n/a',unit:'n/a'}},
cont : 0,
}];
Я получаю доступ к его свойствам следующим образом:
connectedEstimotes[index] = estimotesplugin.nearableStuff(data);
//Only the info that needs postprocessing is being updated afterwards
connectedEstimotes[index].temp = Math.round((estimotesplugin.nearableStuff(data).temp) * 10) / 10;
connectedEstimotes[index].acceleration.z = (estimotesplugin.nearableStuff(data).acceleration.z) + 980;
connectedEstimotes[index].batt = Math.round((estimotesplugin.nearableStuff(data).batt) * 10) / 10;
Все работает нормально, но всякий раз, когда я пытаюсь это сделать:
connectedEstimotes[index].acceleration.push(estimotesplugin.nearableStuff(data).acceleration)
Возвращает:
TypeError: connectedEstimotes[index].acceleration.push is not a function
Если я попытаюсь сделать
var thisCont = connectedEstimotes[index].cont;
connectedEstimotes[index].acceleration[thisCont] = (estimotesplugin.nearableStuff(data).acceleration)
thisCont++;
Я понял, что thisCont - это NaN, хотя, если я сделаю следующую вещь, она будет работать (но она бесполезно для меня).
connectedEstimotes[index].acceleration[0] = (estimotesplugin.nearableStuff(data).acceleration)
thisCont++;
Кто-нибудь, помогите, плз? Есть ли лучший способ отслеживать историю значений этого?