当我尝试console.log时,我得到了未定义的
var farr = [];
$.ajax({
url: "https://whispering-cliffs-33347.herokuapp.com/employees",
type: "GET",
contentType: "application/jsonp"
}).done(function(employees) {
for(let i in employees){
farr.push(employees[i]);
}
})
console.log(farr[8]);
有什么想法吗?
答案 0 :(得分:1)
console.log(farr[8]);
才会被执行。首先在done
推送本地数组中的所有元素&一旦在下一个done
日志中完成了值
var farr = [];
$.ajax({
url: "https://whispering-cliffs-33347.herokuapp.com/employees",
type: "GET",
contentType: "application/jsonp"
}).done(function(employees) {
employees.forEach(function(item){
farr.push(item)
})
}).done(function(elem){
console.log(farr[8]);
})
答案 1 :(得分:0)
您无法使用标准for循环迭代对象。为了能够做到这一点,你应该首先在数组中获取对象键并迭代它。
const keys = Object.keys(employees);
keys.forEach((i) => {
farr.push(employees[i]);
}
console.log(farr[8]);. // You should put this in the call back itself
或者你可以使用lodash的forEach直接遍历对象。