我有一個非常簡單的D3示例,首先將數據讀入關聯數組,然後將其顯示在條形圖中。使用關聯數組作爲D3的數據
雖然我似乎無法使用此方法顯示任何內容。相反,我必須在兩者之間插入一個任務:將數據讀入關聯數組,將數據複製到一個簡單數組中,然後使用簡單數組顯示條形圖。
chart.selectAll("div")
.data(genreAssociative)
.enter().append("div")
.style("width", function(d) { return d * 10 + "px"; })
.text(function(d) { return d; });
上述不起作用。
genreSimple = [];
for (var genre in genreAssociative) genreSimple.push(genreAssociative[genre]);
chart.selectAll("div")
.data(genreSimple)
.enter().append("div")
.style("width", function(d) { return d * 10 + "px"; })
.text(function(d) { return d; });
上述確實;使用簡單的數組作爲中介。有沒有一種特殊的方法來遍歷一個關聯數組而不是一個標準數組?
從包含的信息中可以看出,chart.data函數不接受JavaScript對象(又名「關聯數組」)。如果是這種情況,那麼你別無選擇,只能轉換爲數組。 – jbabey 2012-03-06 18:43:50
它們在JavaScript中不被稱爲關聯數組。我傾向於把這個術語掛起來,因爲通常那些天關聯數組的人會將它聲明爲一個數組,如PHP。 – 2015-12-19 00:06:41