【问题标题】:JavaScript - Looping and adding a key value pair to JSON objectJavaScript - 循环并向 JSON 对象添加键值对
【发布时间】:2015-07-26 02:48:19
【问题描述】:

我正在尝试对“响应”(通过 API 函数传递的 JSON 对象)进行排序,并根据行星名称插入键“img:”和值(图像 src)。

我尝试过的: 我尝试使用一些 StackOverflow 链接中的 response.push,但这只是将键值作为单独的值添加到整个对象中。我也尝试了 response[i],但这似乎无效,因为我的控制台给了我一个错误。

我访问过的一些链接这些很有帮助,但似乎无法解决我所追求的循环序列。

如果有任何帮助或指导,我将不胜感激。

  app.controller('mainCtrl', function($scope, parseService) {

  $scope.getParseData = function() {
    parseService.getPlanet().then(function(response) {

      for(var i = 0; i < response.length; i++)
        if (response[i].name === "Hoth") {
          console.log("We found hoth!");
          response.push({'img': 'testpic.jpg'}); //Trouble w. this line
        } else {
          console.log("not Hoth");
        }
        $scope.planets = response;

    });
  }
  $scope.getParseData();

});

【问题讨论】:

  • 您可以将console.log('We found hoth!') 更改为console.log(response) 并发布结果吗?知道那个对象是什么会很有帮助。我的猜测是它不是一个数组,所以你需要做一些不同的事情。

标签: javascript json angularjs


【解决方案1】:

这将添加 img: 属性:

response['img'] = 'testpic.jpg';

【讨论】:

  • 这实际上与您在问题中链接到的第二篇文章中的答案相似。
  • 感谢您朝正确的方向轻推。我必须这样做response[i]['img'] = 'testpic.jpg'; ,这非常有效。我不知道为什么我不认为这是一种选择。我对这些东西还是很陌生。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-24
  • 1970-01-01
  • 1970-01-01
  • 2014-05-20
  • 2020-12-11
  • 2021-03-30
  • 2019-11-01
相关资源
最近更新 更多