Tôi có một ví dụ D3 rất đơn giản mà lần đầu tiên đọc dữ liệu vào một mảng kết hợp, sau đó hiển thị nó trong biểu đồ thanh.Sử dụng mảng kết hợp làm dữ liệu cho D3
Tôi dường như không thể hiển thị bất kỳ thứ gì để hiển thị bằng phương pháp này. Thay vào đó, tôi phải chèn một nhiệm vụ ở giữa: Đọc dữ liệu vào một mảng kết hợp, sao chép dữ liệu đó vào một mảng đơn giản, sau đó hiển thị biểu đồ thanh bằng cách sử dụng mảng đơn giản.
chart.selectAll("div")
.data(genreAssociative)
.enter().append("div")
.style("width", function(d) { return d * 10 + "px"; })
.text(function(d) { return d; });
Ở trên không có tác dụng.
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; });
Điều trên; sử dụng một mảng đơn giản làm trung gian. Có một cách đặc biệt để lặp qua một mảng kết hợp thay vì một mảng tiêu chuẩn?
nó xuất hiện từ thông tin được bao gồm mà hàm chart.data không chấp nhận đối tượng javascript (còn gọi là "mảng kết hợp"). Nếu đây là trường hợp, sau đó bạn không có sự lựa chọn, nhưng để chuyển đổi thành một mảng. – jbabey
Chúng không được gọi là mảng kết hợp trong JavaScript. Tôi có xu hướng bị treo lên trên thuật ngữ này bởi vì thường những người ngày mảng kết hợp sẽ tuyên bố nó như là một mảng, như PHP. –