在对象数组上映射(错误:类型“ {}”上不存在属性“ map”。TS2339)

时间:2020-10-09 10:26:37

标签: javascript arrays reactjs typescript array.prototype.map

我正在做一个应用程序,其中我使用Recruitee API获取一份工作机会列表。 我将提取的数组存储在称为作业的状态。

它看起来像这样:

jobs = [ 0: {title: frontent-developer, company: whatever, departement: software}, 1: {title: fullstach-devloper, company: foobar, departement: management}]

现在我想借助这样的地图功能将其显示为列表:

<ul>
{jobs.map((row) => {
                  return <li>(row.title)</li>;
                })}
</ul>

现在,我收到错误消息:类型“ {}”上不存在属性“ map”。 TS2339,我不确定是什么错误或做什么。

有人知道吗?

3 个答案:

答案 0 :(得分:1)

尝试这样

const jobs = [
      {
        title: "frontent-developer",
        company: "whatever",
        departement: "software"
      },
      {
        title: "fullstach-devloper",
        company: "foobar",
        departement: "management"
      }
    ];

    return (
      <ul>
        {jobs.map((row) => {
          return <li>{row.title}</li>;
        })}
      </ul>
    );

答案 1 :(得分:0)

我认为值错误会尝试此方法。

let jobs = [{ 0: { title: " frontent - developer", company: "whatever",departement: "software" } }]

jobs.map((row, i) => {
return <li>(row[i].title)</li>;})

答案 2 :(得分:0)

按照@aum trivedi的回答

这是不正确的json格式:

  const  jobs = [ 0: {title: frontent-developer, company: whatever, departement: software}, 1: {title: fullstach-devloper, company: foobar, departement: management}]

正确的json格式为:

  const  jobs = [{ 0: {title: frontent-developer, company: whatever, departement: software}}, {1: {title: fullstach-devloper, company: foobar, departement: management}}]