我正在使用一个函数,该函数返回一些如下数据:
[{url1: "number1"},{url2: "number2"},{url3: "number3"},etc...]
这是我自己编写的函数:
const getNbShares = function() {
return Promise.map(urls, requestPromise)
.map((htmlOnePage, index) => {
const $ = cheerio.load(htmlOnePage);
const share = $('.nb-shares').html();
let shareTuple = {};
shareTuple[urls[index]] = share;
return shareTuple;
})
.catch((e) => console.log('We encountered an error' + e));
}
有没有办法重写这个函数,这样我就有了一个合适的数组对象(最好的解决方案,但更复杂?)或者有没有办法重新格式化我上面的数据数组,这样我就可以得到这样的东西:
[{url:"url1",value: "number1"},{url:"url2",value: "number2"},{url: "url3", value: "number3"},etc...]
最佳答案
是的,只需更改键即可:
const getNbShares = function() {
return Promise.map(urls, requestPromise)
.map((htmlOnePage, index) => {
const $ = cheerio.load(htmlOnePage);
const share = $('.nb-shares').html();
let shareTuple = {};
// set `url` to `urls[index]`
shareTuple.url = urls[index];
// then set the `value` to `share`
shareTuple.value = share;
return shareTuple;
})
.catch((e) => console.log('We encountered an error' + e));
}
关于javascript - 处理未格式化的数据数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39670099/