如何在Node.js中统计数组元素并生成指定格式的dtoOut对象?
解决方案
步骤1:统计姓名出现次数
先用一个对象记录每个姓名的出现频次,遍历数组逐个累加计数:
const names = ['Jan', 'Jan', 'Jana']; const countMap = {}; names.forEach(name => { // 若姓名未在countMap中,初始化为0再加1,否则直接加1 countMap[name] = (countMap[name] || 0) + 1; });
步骤2:转换为指定格式数组
把统计好的对象转成{label: 姓名, value: 次数}的结构数组,用Object.entries()拆分键值对后映射:
const chartDataAll = Object.entries(countMap).map(([label, value]) => ({ label, value }));
步骤3:组装成最终的dtoOut对象
把转换好的数组放到chartData.all字段下:
const dtoOut = { chartData: { all: chartDataAll } };
最终得到的dtoOut结构如下:
{ chartData: { all: [ { label: 'Jan', value: 2 }, { label: 'Jana', value: 1 } ] } }
内容的提问来源于stack exchange,提问作者Ner0ess
相关产品推荐
相关产品推荐

