0
我想創建(這裏樣本數據)複製此對象的架構值的算法:提取數組值轉換成目標動態
let layer1 = {name: 'x',
values: [{_color: '#996666', time: 0, tween: 'quadEaseIn', value: 0},
{_color: '#b074a0', time: 4, value: 5.500023},
{_color: '#b074a0', time: 3, value: 4.500023},
{_color: '#b074a0', time: 2, value: 3.500023}],
tmpValue: 3.500023,
_color: '#6ee167',
_value: 0};
第3,第4,而這個樣本數據的5日線是有關問題。
那麼下面是到目前爲止的算法。變量numKeyframes已經定義(n)。在第一個循環中,動態對象被添加到一個名爲keyframes的數組中。
在第二個循環中,關鍵幀數組包含在圖層對象內。這裏的想法是關鍵幀應該插入多個對象來代替它所在的對象(就像上面的示例對象數據一樣)。
...
var keyframes = [];
var timevals = [1, 2, 3, 4, 5]
for (var k=0; k<numKeyframes; k++) {
var tv = timevals[k];
var kf = {_color: '#FF0000', time: tv, value: 3.500023}
keyframes.push(kf);
}
// make x, y, z layers
for (var i=0; i<3; i++) {
layer = {name: layerNames[i],
values: [{_color: layerValuesColors[i],
time: layerValuesTime[i],
tween: 'quadEaseIn',
value: layerValuesValues[i]},
keyframes],
tmpValue: layertmpValues[i],
_color: layerColors2[i],
_value: layerValues[i]}
layerData.push(layer);
}
...
但這不起作用。看起來沒有包含任何對象。
如果我用關鍵幀替換關鍵幀],那麼它可以工作,但是當它需要插入所有值(對象)時,它當然只會獲得第一個值(對象)。
什麼是最好的方式去做這件事?
正確,有沒有錯誤,並console.dir(layerData)不顯示對象([對象對象],[對象對象],[對象對象])...但它是layerData中的關鍵幀,我有如何正確解析它的問題 –
好吧,我只是試過這個:console.dir (「layerData:」+ JSON.stringify(layerData)); –
它確實顯示關鍵幀對象正在嵌套。例如,這裏是其中之一: –