var graphdata = [["A", "B", "C", "D"], [0.5, 0.25, 0.5, 0.25]];

function randomData (){
    var labels = graphdata[0]
    var labels2 = graphdata[1];
    console.log();
    return labels.map(function(labels, labels2){
        console.log(labels2);
        return { label: labels , value: labels2 }
    });
}


labels正确地迭代A,B,C,D。但是labels2被压缩为0、1、2、3,我不确定为什么。在return labels.map()调用之前,如果我console.log(),我可以得到正确的分数以输出,但是之后这些值消失了,我不确定为什么。

最佳答案

给予map回调的第二个参数是迭代中元素的索引。

看起来你想要的是

return labels.map(function(label, i){
    return { label: label , value: labels2[i] }
});

10-02 18:01