CanvasJS Pie Chart - Preparing a JS Array to Hold Data

I can successfully render a canvasJS pie chart using static data hard-coded within a js array like this:

// Hardcoded data - this will successfully render a pie chart
var dps = [{ y: 1, indexLabel: "Writing" }, { y: 0, indexLabel: "External Collaboration" }, { y: 0, indexLabel: "Ready for Edit" }, { y: 0, indexLabel: "Editing" }, { y: 0, indexLabel: "Ready for Review" }, { y: 0, indexLabel: "In Pink Team" }, { y: 0, indexLabel: "In Gold Team" }, { y: 1, indexLabel: "In Red Team" }, { y: 0, indexLabel: "Final Versions" }]

However, I need to simply reference an array already populated. I am populating an array from a table on the page. I can’t understand why it won’t work because when I convert the array to string and print, everything is formatted correctly.

Below is the link to my jsfiddle example code.

http://jsfiddle.net/cgtrman/J4YLV/10/

Any help is greatly appreciated.

Understand JavaScript types: ‘{ y: 10, indexLabel: “Writing” }’ does not equal { y: 10, indexLabel: “Writing” }. The first one is a string, the second one is an object.

You are not building the array the right way. You are putting text elements in it. You should put objects in it. You only need to use text concatenation for the key+(value) part.

dsp is an array of objects now: dps.push({ y: Number(value), indexLabel: key + ‘(’ + value + ‘)’});
Before it was an array of arrays of strings.

That was the issue. Thanks for providing a quick response and solution!