首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Array.prototype.map()期望从箭头函数返回一个值

Array.prototype.map()期望从箭头函数返回一个值
EN

Stack Overflow用户
提问于 2022-12-01 00:00:58
回答 2查看 40关注 0票数 1

如何防止这个错误,我正在尝试任何我能做的,不可能添加返回内部地图。

错误:

第32:26行: Array.prototype.map()期望箭头函数数组-回调-返回的返回值

代码语言:javascript
复制
  const parseChartData = (field: string, data: string[][]) => {
    let chartData = [[field, 'count']];
    data.map((item: any) => {
      chartData.push([item._id, item._count])
    });
    return chartData;
  };
EN

回答 2

Stack Overflow用户

发布于 2022-12-01 01:37:25

如果我正确理解,您希望将您的data转换为由头对[field, 'count']加上的对[id, count]

撇开类型不说,您可以:

map

  • Prepend将data转换为chartDataarray.unshift()

将头转换为chartData

代码语言:javascript
复制
const chartData = data.map((item) => 
  [item._id, item._count]
);
chartData.unshift([field, 'count']);

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

  • data参数被声明为其项的string[][]
  • each (因此使用string[])作为item._id, item._count,也就是说,我们尝试访问它的_id_count属性,这些属性不应该存在于string[]

上。

因此,您必须将每个item键入为any的原因是非常可能的。

如果您的data实际上是一个具有_id_count属性的对象数组,那么只需键入它如下:

代码语言:javascript
复制
data: Array<{ _id: string; _count: number }>
票数 1
EN

Stack Overflow用户

发布于 2022-12-01 01:45:00

如果您不想映射返回的数据,为什么不使用forEach?请查阅mdn文档

代码语言:javascript
复制
const parseChartData = (field: string, data: string[][]) => {
    let chartData = [[field, 'count']];
    data.forEach((item: any) => {
      chartData.push([item._id, item._count])
    });
    return chartData;
  };
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74635491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档