我不知道为什么会发生这种情况但是在我正在运行map
函数的数组中,map的回调函数将其第一个参数作为索引号而不是项。如果我分配两个参数然后它的工作方式就像它应该如何工作,即第一个arg作为索引,第二个arg作为项目,但是当我只分配一个参数时,它给出了索引号而不是项目本身。
以下是我的功能块:
return companies_det.map(function (company_det) {
console.log(company_det);
var $ = cheerio.load(company_det);
var company_name = $(company_det).find('a').text(),
company_esomar_url = $(company_det).find('a').attr('href');
return Rq(company_esomar_url)
.then(function (web_data) {
var $ = cheerio.load(web_data);
return {
company_name: company_name,
company_url: $('a[data-ga-category="website"]').attr('href')
}
})
.catch(function (err) {
return err;
})
});
在上述功能中,如果我console.log(company_det)
我收到index number
而不是companies_det
数组项。
答案 0 :(得分:0)
如果companies_det是一个对象数组而map是Array.map,那是不可能的 您没有提供实际问题的代码。您是将数组索引存储在companies_det中,还是companies_det不是数组,而且它不是标准的地图函数。
尝试记录companies_det。