我正在进行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数组,它在名称或图像属性中不显示任何内容。
是什么让它无法在数组中正确存储?
答案 0 :(得分:0)
您的代码应该使用和不使用变量,这没关系。见例子
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]);
答案 1 :(得分:0)
尝试在数组中推送对象
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]);
}