我正在做一个api调用,当我得到响应时,我就这样做了。
request.get('https://example.com', function(error, response, body) {
body = JSON.parse(body);
name = body.name
image = body.picture.data.url
userList[i].name = name;
userList[i].image = image;
console.log(userList[i])
}这似乎是有效的,我可以看到数组中的变量。但如果我这么做
request.get('https://example.com', function(error, response, body) {
body = JSON.parse(body);
userList[i].name = body.name;
userList[i].image = body.picture.data.url;
console.log(userList[i])
}然后打印userList数组,它在名称或图像属性中不显示任何内容。
是什么导致它不能正确地存储在数组中?
发布于 2018-01-30 04:36:04
你的代码应该使用和不使用变量,这都无关紧要。请参见示例
var body = {name:'Name', picture : {data: {url:'stackoverflow.com'}}}
var i = 0;
var userList = [];
userList[i] = {};
userList[i].name = body.name;
userList[i].image = body.picture.data.url;
console.log(userList);
console.log(userList[i]);
发布于 2018-01-30 05:24:34
尝试推送数组中的对象
request.get('https://example.com', function(error, response, body) {
body = JSON.parse(body);
var data = {};
var userList = [];
data.name = body.name;
data.image = body.picture.data.url;
userList.push(data);
console.log(userList[userList.length - 1]);
}https://stackoverflow.com/questions/48509452
复制相似问题