Javascript 如何将数据传递到对象数组中

Javascript 如何将数据传递到对象数组中,javascript,jquery,json,node.js,Javascript,Jquery,Json,Node.js,这里我有这样的数据 var dataArray = '[{"name":"books","value":43},{"name":"DVDs","value":99},{"name":"Magazines","value":37},{"name":"eBooks","value":88},{"name":"Other awesome things","value":67}]'; 我想用这些数据动态地构建这个图表,这意味着我的json在实际项目中会很大,它将来自数据库 这是我想要的图表的JSFID

这里我有这样的数据

var dataArray = '[{"name":"books","value":43},{"name":"DVDs","value":99},{"name":"Magazines","value":37},{"name":"eBooks","value":88},{"name":"Other awesome things","value":67}]';
我想用这些数据动态地构建这个
图表
,这意味着我的
json
在实际项目中会很大,它将来自
数据库

这是我想要的
图表的JSFIDLE(动态地用于我的案例):

//canvasJS示例-显示集合细分的油炸圈饼图。
var dataArray='[{“name”:“book”,“value”:43},{“name”:“dvd”,“value”:99},{“name”:“杂志”,“value”:37},{“name”:“eBooks”,“value”:88},{“name”:“其他很棒的东西”,“value”:67}';
window.onload=函数(){
var chart=new CanvasJS.chart(“chartContainer”,
{
标题:{
文字:“我们的收藏中有什么”
},
数据:[
{
类型:“甜甜圈”,
//这里如何替换上面的数组
数据点:[
{y:53.37,索引标签:“书籍”},
{y:35.0,索引标签:“DVD”},
{y:7,索引标签:“杂志”},
{y:2,索引标签:“电子书”},
{y:5,indexLabel:“其他很棒的东西”}
]
}
]
});
chart.render();
}

如何导出53.37和35.0的值?他们的推导有数学公式吗

如果您只是将“名称”映射到indexLabel,将“值”映射到x,那么这段代码应该可以工作

var desiredObj = x.map(function(currentElement) {return {x: currentElement.value, indexLabel: currentElement.name}});

使用
JSON.parse()
Array.prototype.map()
函数的解决方案:

...
dataPoints:  JSON.parse(dataArray).map(function (o) {
    return {y: o.value, indexLabel: o.name};
})
...

您可以像这样使用jQuery
map
函数:

var myNewDataArray = $.map(dataArray,function(a,b){
    return {
        y : a.value,
        indexLabel : a.name
    }
});

哈哈@Dinesh Verma,你在问什么,伙计,我想要什么数据点:[]
被我的
json
所取代