使用Javascript,我試圖將一些JSON數據轉換爲Highcharts基本折線圖中使用的格式。將JSON數據轉換爲Highcharts基本折線圖的格式
我不得不開始:
originalArray = [
['valueA', 1],
['valueA', 0],
['valueB', 9],
['valueB', 9],
['valueB', 3],
['valueC', 11]
]
什麼我試圖創建一個使用上面:
desiredArray = [{
name: 'valueA',
data: [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}, {
name: 'valueB',
data: [0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0]
}, {
name: 'valueC',
data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
}]
對於一些額外的背景下,0-11在originalArray[i][1]
中引用了一個月(0 = 1月),並且desiredArray
是按月計算的唯一名稱和計數。
到目前爲止,我可以:
- 中的數據轉換對象的一個新的數組
- 對於每一個獨特的名字
originalArray
- 創建在
desiredArray
一個新的對象,並設置name
屬性 - 添加包含空數組的
data
屬性
- 創建在
但後來我遇到了麻煩,無法弄清楚如何:
- 循環遍歷
originalArray
- 如果
originalArray
名稱中的名稱相匹配desiredArray
- 在匹配的
seriesArray[i].data
數組中增加一個計數器,使用值originalArray[i][1]
作爲索引(它總是0-11)。
- 在匹配的
- 如果
所以我問:
- 什麼是在我的
originalArray
遍歷一個很好的方式,投其所好獨特的價值觀,並然後在這些比賽僅作用推送到desiredArray
。 - 什麼是遞增櫃檯
desiredArray[i].data
最好的辦法我願意用庫,如underscore.js。一直想弄明白這一點,現在幾乎所有東西都在Javascript的範圍內。
順便說一下,在你的desiredArray進入VALUEB計數錯了,我想......應該有一個1數據[3]? –
@ SMCrohan好抓,更新 –
代碼在哪裏? –