Javascript 从API获取数据后访问数组元素时显示未定义
我试图访问CodeForcesAPI。返回值:返回请求句柄的用户对象列表 例如:https://codeforces.com/api/user.info?handles=tushar1_000;yogeshk972 我使用这个函数获取数据Javascript 从API获取数据后访问数组元素时显示未定义,javascript,arrays,api,object,Javascript,Arrays,Api,Object,我试图访问CodeForcesAPI。返回值:返回请求句柄的用户对象列表 例如:https://codeforces.com/api/user.info?handles=tushar1_000;yogeshk972 我使用这个函数获取数据 let output; function getData(){ const url = "https://codeforces.com/api/user.info?handles=tushar1_000;yogeshk972";
let output;
function getData(){
const url = "https://codeforces.com/api/user.info?handles=tushar1_000;yogeshk972";
fetch(url).then( (response)=>{
return response.json();
}).then( (data) =>{
console.log(data)
})
}
getData();
当我控制台时,它向我显示一个数组;
但是当我尝试访问数组的第一个元素时,它显示我没有定义
function getData(){
const url = "https://codeforces.com/api/user.info?handles=tushar1_000;yogeshk972";
fetch(url).then( (response)=>{
return response.json();
}).then( (data) =>{
console.log(data[0])
})
}
getData();
有人能告诉我为什么它显示未定义。现在试试
function getData(){
const url = "https://codeforces.com/api/user.info?handles=tushar1_000;yogeshk972";
fetch(url).then( (response)=>{
return response.json();
}).then( (data) =>{
console.log(data.result[0])
})
}
getData();
现在试试
function getData(){
const url = "https://codeforces.com/api/user.info?handles=tushar1_000;yogeshk972";
fetch(url).then( (response)=>{
return response.json();
}).then( (data) =>{
console.log(data.result[0])
})
}
getData();
向API发出请求后,您收到一个数组 以结果为名 您必须通过这种方式访问它 数据。结果[0]
希望这有帮助。向API发出请求后,您收到了一个数组 以结果为名 您必须通过这种方式访问它 数据。结果[0] 希望这有帮助。您试图访问对象的索引值,而不是数组,这是不可能的。数据是一个对象。 data.results是一个数组,因此可以对其进行索引。您尝试访问对象的索引值,而不是不可能访问的数组。数据是一个对象。 data.results是一个数组,因此可以对其进行索引。数据变量是一个对象,而不是数组,0不是它的属性 要访问具有属性的对象,您不像普通数组那样使用ìndex,而是使用属性的名称 要检查数据对象的类型,请执行以下操作: Array.isArraydata//应为false 您应该知道对象是关联数组 要访问结果属性,可以执行以下建议之一:
data['result'][index] // result is the name of the property
data.result[index]
数据变量是一个对象,而不是数组,0不是它的属性
要访问具有属性的对象,您不像普通数组那样使用ìndex,而是使用属性的名称
要检查数据对象的类型,请执行以下操作:
Array.isArraydata//应为false
您应该知道对象是关联数组
要访问结果属性,可以执行以下建议之一:
data['result'][index] // result is the name of the property
data.result[index]
您能发布console.logdatas的结果吗?在这两种情况下,我都看到未定义,您确定它显示了一个数组吗?它将返回一个对象,该对象具有{status:ok,results:[…]}。因此,您需要控制台数据。结果[0]我刚刚尝试了您的代码,它工作正常。有什么你没给我们看的吗?您是否有机会将数据分配给变量输出和日志输出,这就是您未定义的原因?这就是我代码中的所有内容,它给了我状态:当我使用console.logdata时,它给了我一个大小为2的数组,所以我想用数据[0]访问它但是显示的是未定义的。您能发布console.logdatas的结果吗?在这两种情况下,我都看到未定义的,您确定它显示了一个数组吗?它将返回一个具有{status:ok,results:[…]}的对象。因此,您需要控制台数据。结果[0]我刚刚尝试了您的代码,它工作正常。有什么你没给我们看的吗?您是否有机会将数据分配给变量输出和日志输出,这就是您未定义的原因?这就是我代码中的所有内容,它给了我状态:当我使用console.logdata时,它给了我一个大小为2的数组,所以我想用数据[0]访问它,但显示为未定义。