我有不到一年的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))
答案 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函数: