问题可能是由于axios异步请求导致的,可以将数组索引操作放在axios返回的Promise里。例如:
let data = []; // 定义数组 axios.get('/api/data').then((res) => { data = res.data; // 把请求到的数据赋给数组 console.log(data[0]); // 在Promise里对数组进行操作 }).catch((err) => { console.log(err); });
或者,可以使用async/await语法糖简化代码:
async function getData() { let data = []; // 定义数组 try { const res = await axios.get('/api/data'); data = res.data; // 把请求到的数据赋给数组 console.log(data[0]); // 在async/await里对数组进行操作 } catch (err) { console.log(err); } }
getData(); // 调用async函数