因此,考慮下面的代碼我的預期行爲將是
奇怪行爲設置陣列
console.log(charts[i-1]['yaxes'][0]['min']);
options[chart_number]['yaxes'][0]['min'] = charts[i]['yaxes'][0]['min'];
console.log(charts[i-1]['yaxes'][0]['min']);
輸出一定的價值,在這種情況下:1356.6
設置選項[chart_number] [ 'yaxes'] [0] [ 「分鐘」]等於另一個值,在這種情況下0
輸出相同的值在第1行預期:1356.6
而不是我的第三行輸出爲0,導致我相信,前行IS負責改變這個數組值。
任何人都有任何想法,爲什麼設置選項的子值等於來自不同數組的值是否也在更改源數組?
更新:
將其更改爲
console.log(charts[i-1]['yaxes'][0]['min']);
options[chart_number]['yaxes'][0]['min'] = charts[i]['yaxes'].slice(0)[0]['min'];
console.log(charts[i-1]['yaxes'][0]['min']);
不會出現有過一次幫助。我的代碼庫可能太長,無法粘貼在這裏,可能會涉及到挖掘一段時間來幫助我,但感謝您的建議,如果潛在的探索途徑。
更新2:
演示完整的問題在這裏:http://jsfiddle.net/SxW3X/
添加數據集,如 「失業」,打RSI,移動RSI到第二個圖表,圖表1保持新的分集,通過上面的代碼。
也許'chart_number'和'i-1'是一樣的嗎? –
代碼中的第二行不會改變'charts [i-1] ['yaxes'] [0] ['min']'的值。請張貼更多你的代碼。 –