存储变量,然后放入数组,直接放入数组

时间:2018-01-29 20:28:55

标签: javascript arrays

我正在进行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数组,它在名称或图像属性中不显示任何内容。

是什么让它无法在数组中正确存储?

2 个答案:

答案 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]);
  }