#javascript #node.js #reactjs #json
Вопрос:
У меня есть этот объект json.
[ { "crime": "LARCENY-NON_VEHICLE", "count": "23217" }, { "crime": "AUTO_THEFT", "count": "13675" }, { "crime": "LARCENY-FROM_VEHICLE", "count": "28627" }, { "crime": "BURGLARY-RESIDENCE", "count": "16312" } ]
Мне нужно отобразить эти данные в виде круговой диаграммы, поэтому мне нужно преобразовать их в этот формат.
[ {name: "LARCENY-NON_VEHICLE", value: 23217}, {name: "AUTO_THEFT", value: 13675}, {name: "LARCENY-FROM_VEHICLE", value: 28627}, {name: "BURGLARY-RESIDENCE", value: 16312} ]
Вот как я получаю данные с помощью axios.
Ответ №1:
Вы можете просто использовать map для возврата нового массива со значениями из старого массива
const data = [{ "crime": "LARCENY-NON_VEHICLE", "count": "23217" }, { "crime": "AUTO_THEFT", "count": "13675" }, { "crime": "LARCENY-FROM_VEHICLE", "count": "28627" }, { "crime": "BURGLARY-RESIDENCE", "count": "16312" } ]; const newData = data.map(item =gt; { return { name: item.crime, value: item.count // to convert string to number } }); console.log(newData)
Ответ №2:
Вы можете просто отформатировать массив, вызвав функцию map
const arr = [ { crime: "LARCENY-NON_VEHICLE", count: "23217", }, { crime: "AUTO_THEFT", count: "13675", }, { crime: "LARCENY-FROM_VEHICLE", count: "28627", }, { crime: "BURGLARY-RESIDENCE", count: "16312", }, ]; arr.map((e) =gt; ({ name: e.crime, count: Number.parseInt(e.count) }))