reactjs Array.prototype.map()需要箭头函数的返回值

xtupzzrd  于 2022-12-03  发布在  React
关注(0)|答案(2)|浏览(335)

如何防止这个错误,我正在尝试什么我可以,不可能添加返回内部Map。
错误:
第32行:第26行:Array.prototype.map()需要箭头函数array-callback-return的返回值

const parseChartData = (field: string, data: string[][]) => {
    let chartData = [[field, 'count']];
    data.map((item: any) => {
      chartData.push([item._id, item._count])
    });
    return chartData;
  };
dgiusagp

dgiusagp1#

如果我没理解错的话,你想把你的data转换成[id, count]对,前面加上一个头对[field, 'count']
撇开类型不谈,您可以:
1.用mapdata转换为chartData
1.在信头前面加上array.unshift()

const chartData = data.map((item) => 
  [item._id, item._count]
);
chartData.unshift([field, 'count']);

至于类型,请确保您的参数类型与您使用它的方式一致:

  • data参数声明为string[][]
  • 它的每个项(因此是string[])被用作item._id, item._count,即,我们尝试访问它的_id_count属性,它们不应该存在于string[]

因此,您必须将每个item键入为any的原因非常可能。
如果您的data实际上是具有_id_count属性的对象数组,则只需输入如下内容:

data: Array<{ _id: string; _count: number }>
bnl4lu3b

bnl4lu3b2#

如果您不想Map返回数据,为什么不使用forEach?请查看mdn文档

const parseChartData = (field: string, data: string[][]) => {
    let chartData = [[field, 'count']];
    data.forEach((item: any) => {
      chartData.push([item._id, item._count])
    });
    return chartData;
  };

相关问题