繁体   English   中英

如何使用Google图表使用JavaScript迭代此类对象?

[英]How to iterate this kind of object with javascript using google charts?

我有一个来自后端的地图列表,我想将此列表循环到我的地图中。 我尝试了一个简单的for,但是没有用。

这是我的代码:

/*<![CDATA[*/
    var message = new Map();
    console.log('je suis le ' + typeof message);
    message = /*[[${liste}]]*/ 'default';
    /*]]>*/

    console.log(typeof message)

    function drawChart() {
        var data = google.visualization.arrayToDataTable([
            //for(i=0;i<message.length;i++) {}
            ['Task', 'tranche ages'],

            for(i=0;i<message.length;i++) {
                [Object.keys(message)[i], Object.values(message)[i]];
            }

            // [Object.keys(message)[0], Object.values(message)[0]],
            // [Object.keys(message)[1], Object.values(message)[1]],
            // [Object.keys(message)[2], Object.values(message)[2]],
            // [Object.keys(message)[3], Object.values(message)[3]],
            // [Object.keys(message)[4], Object.values(message)[4]],
            // [Object.keys(message)[5], Object.values(message)[5]]
        ]);

在此处输入图片说明

提前感谢您的建议

最干净的方法是使用Object.entries

 input = {"nombre de personnes entre 16 et 20 ans": 2, "de personnes entre 20 et 30 ans": 5, "de personnes entre 30 et 40 ans": 2, "de personnes entre 40 et 50 ans": 1}; console.log(Object.entries(input)); 

UPDATE

对于较旧的浏览器,请不要忘记包含polyfill

这是将对象转换为键-值数组的数组的方法。

 input = { "nombre de personnes entre 16 et 20 ans": 2, "nombre de personnes entre 20 et 30 ans": 5, "nombre de personnes entre 30 et 40 ans": 2, "nombre de personnes entre 40 et 50 ans": 1 }; output = []; Object.keys(input).forEach(function(d){ output.push([d, input[d]]); }); console.log(output); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM