Javascript: правильный способ отобразить результат массива

1

У меня есть массив для определения моих переменных:

const nbActions = 13;
const sdgValues = ['1','2', '5', '6', '3','0','2','0','0','6','0','0','0','1','0','0','0'];

let sdg = [];
for (let i = 0; i < sdgValues.length; ++i) {
    sdg[i] = (sdgValues[i] / nbActions * 100).toPrecision(4);       
}

Но теперь я хочу отобразить это значение в dataSDG с циклом без определения всех sdg [x] по костям:

const dataSDGs = {
   data: [
            sdg['0'],
            sdg['1'],
            sdg['2'],
            sdg['3'],
            ...
    ]
}

Моя цель - получить это значение для создания диаграммы с помощью chart.js

  • 4
    const dataSDGs = { data: sdg }; ?
  • 0
    Или { data: sdg.slice() } для клонирования
Показать ещё 1 комментарий
Теги:
ecmascript-6
arrays

2 ответа

0
Лучший ответ

Следующее должно сделать это, нет необходимости в цикле:

const nbActions = 13;
const sdgValues = ['1','2', '5', '6', '3','0','2','0','0','6','0','0','0','1','0','0','0'];

const dataSDGs = {
  data: sdgValues.map(
    sdg=>(sdg / nbActions * 100).toPrecision(4)
  )
}


console.log(
  dataSDGs  
);
  • 0
    Спасибо за помощь. Работает нормально.
0
    const nbActions = 13;
const sdgValues = ['1','2', '5', '6', '3','0','2','0','0','6','0','0','0','1','0','0','0'];


let sdg =sdgValues.map((item)=>{
    return (item / nbActions * 100).toPrecision(4);   
})

var dataSDGs = {};
dataSDGs.data = sdg;
console.log(dataSDGs);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню