Javascript 对象字面量。对象[i].变量

标签 javascript object-literal

我有一个函数,可以获取一些 JSON,然后根据对象字面量中的一些信息提取第一个元素。

我的问题是:

function foo(string){
return data[0].string;
}

这是行不通的。正确的语法是什么?

完整代码为:

 var plantaVariables = {
    humidity : 0,
    airTemp : 0,
    soilTemp : 0,
    soilMoisture: 0,
    light: 0
  };

  function capitaliseFirstLetter(string){
    return string.charAt(0).toUpperCase() + string.slice(1);
  }

  for (var i in plantaVariables) {
    $.ajax({
      url: "http://xxx/"+i.toLowerCase(),
      dataType:"json",
      async: false,
      success: function(data){
        var string = capitaliseFirstLetter(i);
        plantaVariables[i] = parseInt(data[0].capitaliseFirstLetter(i));
      }
      });
  };

我得到的 JSON 看起来像这样:

[{"PlantId":"1","DateTime":"2012-11-01 13:56:23","Humidity":"37.4"}]

(有更多对象)。与 plantaVariables 中的任何其他元素类似

我意识到这是一个新手问题,但我是 javascript 的新手,而且我一整天都在用头撞屏幕。 非常感谢任何帮助!

最佳答案

您应该使用下标表示法通过表达式查找对象属性:

plantaVariables[i] = parseInt(data[0][capitaliseFirstLetter(i)]);

关于Javascript 对象字面量。对象[i].变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13185183/

相关文章:

javascript - Node Canvas 图像抗锯齿似乎不起作用

javascript - Javascript 文字对象中的私有(private)变量

javascript - Javascript 对象数组文字的可靠长度?

javascript - 在 .on() 或任何对象文字中创建可重用变量

javascript - Node js : HTTP POST : Error: Can't set headers after they are sent

javascript - JS 函数返回什么

javascript - 使用收到的 JSON 数据创建 Backbone 模型

javascript - 如何在 javascript 中检测到 shift + key down?

javascript - 如果 key 是 RegExp 的实例,则 Object.keys 效率不高

Javascript - 如何在对对象文字的ajax调用中绑定(bind) 'this'