【问题标题】:array.map is not a function [closed]array.map 不是函数[关闭]
【发布时间】:2020-04-01 10:52:16
【问题描述】:

我不断收到此错误 escalationreport.js:62 Uncaught (in promise) TypeError: results.map is not a function

{escalated_by: "Osten Diniz", ticket_Number: "SHA-194414", escalation_reason: "Closing sale", date: "2020-03-31T16:25:30.000Z"}

这是浏览器级别的控制台日志

我正在尝试将这些值映射到一个表,但由于上述错误而失败

我发现 data.map 仅适用于数组,但不知道如何将该 json 转换为数组({} 到 [])

【问题讨论】:

标签: javascript arrays json reactjs


【解决方案1】:

您可以使用Object.keys()Object.entries(),然后使用map

Object.entries(yourObject).map((arr) => {
 // arr[0] will have the key and arr[1] will have the value of a key-value 
 // pair of yourObject.
 console.log(arr) 
})

【讨论】:

  • 对象是关键字吗?
  • @OstenDiniz 没有,it's the global Object constructor
  • @OstenDiniz 不,它不是关键字。关键字类似于return
  • @OstenDiniz 你是对的。我脑子里一团糟……
【解决方案2】:
var result = {escalated_by: "Osten Diniz", ticket_Number: "SHA-194414", 
escalation_reason: "Closing sale", date: "2020-03-31T16:25:30.000Z"};

 // one
var keys= Object.keys(result);
keys.map(v => {
  console.log("KEY  ========>",v);
});

// two
var entries= Object.entries(result);
entries.map(v => {
   console.log("KEY  ========>",v[0],"VALUE  ========>",v[1]);
});

【讨论】:

  • [result] 将只创建一个数组,其中一个元素是结果对象。我们不能用它来循环对象的属性。
猜你喜欢
  • 2022-09-25
  • 2021-06-01
  • 2021-10-31
  • 2020-03-21
  • 2014-08-23
  • 2020-09-03
  • 2020-12-12
  • 2021-04-28
  • 2019-10-26
相关资源
最近更新 更多