I have a list of map from my backend and i would like to loop this list in my map. I tried with a simple for but it doesn't work.
This is my code:
/*<![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]]
]);
Thnk you in advance for your advices
The cleanest way is to use 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
For older browsers support don't forget to include polyfill
Here is how you can convert object into an array of key - value array.
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);
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.