我不知道如何使用提取API中的数据

时间:2019-07-02 12:21:24

标签: javascript arrays node.js api

我有不到一年的javascript经验。 对于如何使用api中的数据,我总是很麻烦。

例如,如果我以类似方式获取产品api,

我的控制台会向我显示[{name:'pen',price:4},{name:'jeans',price:5}]

好吧,然后,如果我想添加产品的所有价格,或者我想使用数据来做某事。 所以我用了array.push(data)

但是它不起作用,而且看起来像个超级混蛋。

所以我想问你们最好的处理方式是什么?

var array=[] 
async function getData() { 
    let response = await fetch('products/api');
    let data = await response.json() 
    return data;
}

getData().then(data =>console.log(data))

1 个答案:

答案 0 :(得分:0)

如果您的数据来自您提供的表格:

[{name:'pen',price:4},{name:'jeans',price:5}]

已经是一个数组,您可以执行以下操作以汇总价格:

async function getData() { 
    let response = await fetch('products/api');
    let data = await response.json() 
    return data;
}

var array = await getData();
const reducer = (accumulator, currentValue) => accumulator + currentValue.price;

console.log(array.reduce(reducer, 0));

应该打印14。请注意,要使用await,您必须在异步函数中。如果要使用then(),请执行以下操作:

var array = [];
const reducer = (accumulator, currentValue) => accumulator + currentValue.price;

getData().then(data => {
    array = data;
    console.log(array.reduce(reducer, 0));
});

如果您想对数据做更多的事情,则必须在then()函数中进行。

查看MSDN的reduce函数: