Axios参数返回对象内部的数据,而不是数组

时间:2019-06-01 15:16:38

标签: reactjs axios

使用不带参数的axios.get时,所有数据都像应该那样返回到数组内部,但是当我使用参数时,所有对象都返回到对象内部,并且无法对其进行映射。如何将所有对象放入数组中?如果我尝试将其放入数组中,则只会放入包含我需要的所有对象的对象。

     axios.get('http://api.digiart.lt/items/',
        { params: 
            { category:"latte" }} )
    .then(response => {
        let coffee = response.data;
        this.props.onLoadData(coffee);
        console.log(response.data);

这样返回

{…} 数:10 项目:对象{0:{…},2:{…},3:{…},…} :对象{…}

应该是这样

Array(41)[{…},{…},{…},{…},{…},{…},{…},{…},{…},{…},…]

2 个答案:

答案 0 :(得分:0)

这是http://api.digiart.lt/items/ API的默认响应

使用Object.keys将其映射到数组。

// Request -> http://api.digiart.lt/items?category=latte
var response = {
  "items": {
    "0": {
      "title": "Abbey's White Chocolate Latte",
      "description": "I created this recipe for my little sister, Abbey, who`s a latte fanatic. She was blown away, and drained it to the last drop! This makes one VERY large, indulgent latte, and could probably serve two. Enjoy!\n\nIngredients:\n1 1\/2 cups milk\n1 tablespoon heavy cream\n1\/8 teaspoon vanilla extract\n1 tablespoon white sugar\n1\/2 cup brewed espresso\n1\/4 cup white chocolate chips, chopped",
      "url": "https:\/\/www.allrecipes.com\/recipe\/137332\/abbeys-white-chocolate-latte\/",
      "category": "latte",
      "date": "2018-05-31",
      "img": "https:\/\/images.media-allrecipes.com\/userphotos\/560x315\/2107268.jpg"
    },
    "2": {
      "title": "Brown Sugar-Caramel Latte",
      "description": "Sometimes coffee is a dessert in itself. This is one of my favorite morning treats to make a Monday seem less intimidating. You'll need a battery-powered milk frother or it's just not the same.\n\nIngredients:\n1 tablespoon brown sugar\n1\/4 cup half-and-half\n1 tablespoon caramel ice cream topping\n3\/4 cup hot, brewed coffee",
      "url": "https:\/\/www.allrecipes.com\/recipe\/139119\/brown-sugar-caramel-latte\/",
      "category": "latte",
      "date": "2017-08-22",
      "img": "https:\/\/images.media-allrecipes.com\/userphotos\/560x315\/707064.jpg"
    }
    // .. More items
  }
}

var arr = []
Object.keys(response.items).forEach(key => arr.push(response.items[key]))
console.log(arr)

答案 1 :(得分:0)

尝试

Runnable