首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >result.data.data.map不是一个函数

result.data.data.map不是一个函数
EN

Stack Overflow用户
提问于 2018-02-25 15:27:39
回答 1查看 453关注 0票数 0

有类似的问题,但我没有找到更好的解决办法。我从我的JS客户端调用一个API,如下所示

代码语言:javascript
复制
    export default function (
  $http,
  API_URL
) {
  'ngInject'

  const service = {}

  service.searchAddresses = function (searchTerm) {
    return $http.get(`${API_URL}/names/?beginning=${searchTerm || ''}`)
      .then((result) => {

        return result.data.data.map((address) => address.attributes.display) 
      })
  }

  return service
}

在客户端,当我控制台记录结果时,如下所示

代码语言:javascript
复制
{"data":{"data":{"type":"address","attributes":[{"address":"5-7 east street, lidcombe, nsw 2141","display":"5-7 East Street, LIDCOMBE, NSW 2141"},{"address":"5-7 mary street, auburn, nsw 2144","display":"5-7 Mary Street, AUBURN, NSW 2144"},{"address":"5-7 nicholas street, lidcombe, nsw 2141","display":"5-7 Nicholas Street, LIDCOMBE, NSW 2141"}]}}

然后,在API方面,网络响应是这样的。

代码语言:javascript
复制
    {
  "data": {
    "type": "address",
    "attributes": [
      {
        "address": "5-7 east street, lidcombe, nsw 2141",
        "display": "5-7 East Street, LIDCOMBE, NSW 2141"
      },
      {
        "address": "5-7 mary street, auburn, nsw 2144",
        "display": "5-7 Mary Street, AUBURN, NSW 2144"
      },
      {
        "address": "5-7 nicholas street, lidcombe, nsw 2141",
        "display": "5-7 Nicholas Street, LIDCOMBE, NSW 2141"
      }
    ]
  }
}

当我试图检索上面的数据时,客户端出现了一个错误。错误是result.data.data.map不是一个函数

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-25 15:43:19

map ()是一个数组函数。您的result.data.data是一个对象。如果您想遍历它们,请首先使用Object.keys()Object.values()Object.entries()

代码语言:javascript
复制
Object.entries(result.data.data).map(([key, value]) => console.log(key, value))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48975148

复制
相关文章

相似问题

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