簡體   English   中英

Javascript對象文字。 對象[I] .variable

[英]Javascript object literal. object[i].variable

我有一個函數,我得到一些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)]);

請記住,可以使用[]引用對象,就像數組一樣。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM