Javascript 如何访问对象属性?
我试图从数组中的每个对象中获取一个atribute。该对象称为数据,如下所示Javascript 如何访问对象属性?,javascript,Javascript,我试图从数组中的每个对象中获取一个atribute。该对象称为数据,如下所示 [ { asin: 'B07PC4SF1K' }, { asin: 'B088NFQDSH' }, { asin: 'B088NKZT13' }, { asin: 'B086H4C8CX' }, { asin: 'B086QC62JR' }, { asin: 'B088N774B7' }, { asin: 'B07XDBG6K3' }, { asin: 'B086H3HH5V' }, { asin:
[
{ asin: 'B07PC4SF1K' }, { asin: 'B088NFQDSH' },
{ asin: 'B088NKZT13' }, { asin: 'B086H4C8CX' },
{ asin: 'B086QC62JR' }, { asin: 'B088N774B7' },
{ asin: 'B07XDBG6K3' }, { asin: 'B086H3HH5V' },
{ asin: 'B08FYTSXGQ' }, { asin: 'B08BBXK6RQ' },
{ asin: 'B0843HCT63' }, { asin: 'B08FYV84JT' },
{ asin: 'B084D89DBF' }, { asin: 'B086Q3FPN9' },
{ asin: 'B00FRSYS12' }, { asin: 'B07P6Y8L3F' },
{ asin: 'B08BX7LWXS' }, { asin: 'B082XYGR2C' },
{ asin: 'B087LY84RT' }, { asin: 'B0735QBGCL' },
{ asin: 'B088NFQDSH' }, { asin: 'B07GFGJPNQ' }
]
然后我尝试循环遍历对象并获取每个asin的值(例如B08BBXK6RQ)
最后,我记录了两次ASIN.ASIN(console.log(ASIN.ASIN)、console.log(url))。在这两种情况下,我都没有定义ASIN.ASIN的位置。有什么想法吗,伙计们?感谢您的建议尝试在传统的for循环
中调用异步(async
)方法
const数据=[
{asin:'B07PC4SF1K'},{asin:'B088NFQDSH'},
{asin:'B088NKZT13'},{asin:'B086H4C8CX'},
{asin:'B086QC62JR'},{asin:'B088N774B7'},
{asin:'B07XDBG6K3'},{asin:'B086H3H5V'},
{asin:'B08FYTSXGQ'},{asin:'B08BBXK6RQ'},
{asin:'B0843HCT63'},{asin:'B08FYV84JT'},
{asin:'B084D89DBF'},{asin:'B086Q3FPN9'},
{asin:'B00FRSYS12'},{asin:'B07P6Y8L3F'},
{asin:'B08BX7LWXS'},{asin:'B082XYGR2C'},
{asin:'B087LY84RT'},{asin:'B0735QBGCL'},
{asin:'B088NFQDSH'},{asin:'B07GFGJPNQ'}
];
类队列{
异步addRequest({url,userData={}}){
const queryString=Object.entries(userData)
.map(param=>param.join('=')).join('&');
返回`${url}${queryString?`?${queryString}`:'''}`;
}
}
常量main=async()=>{
const requestQueue=新队列();
for(设i=0;i
。作为控制台包装{top:0;max height:100%!important;}
而不是使用for:in
,尝试使用传统的for循环,例如for(让i=0;i
。我认为迭代器不支持异步逻辑。尝试使用maybe?尝试使用for of
或普通for
循环替换您的for w/for(const ASIN in data)
“对象称为数据”-不,数组称为数据。通过对数组执行for in
,实际上是在对其属性进行迭代,例如length
。该长度是一个数字,它没有名为asin
的属性。这是否回答了您的问题?
console.log(data);
for (ASIN in data) {
console.log(ASIN.asin);
urls = await requestQueue.addRequest({
url: `https://www.amazon.com/dp/${ASIN.asin}`,
userData: {
label: "ITEM",
},
});
console.log(urls);
}