我想访问对象键的值?

时间:2013-05-14 12:33:07

标签: javascript jquery

我正在使用API​​,我将其作为数据获得成功函数的响应。

我正在尝试使用它只给我所有对象的“键”但没有值,所以我的问题是:我可以使用以下方法获取值吗?

我使用JavaScript的object.key()方法得到了所有对象的“键”,但现在我想得到它们的值。

以下是回复。我在这里采取了一些响应片段,我在控制台中得到了答案。

division: Object
active: 1
country: "United States"
lat: 42.3584647
lon: -71.05962
name: "Boston"
url: "http://yipit.com/boston/"

在为获取对象的键而编写的函数下面:

function getvalues(data){
    for(var i = 0;i <= data.response.deals.length-1; i++){
        var obj = [];
        var num = i + 1;
        var keyArray = Object.keys(data.response.deals[i].division);
        $('#empid h6').html(keyArray);
        //here i get the keys of objects which is country,lat,lon etc.
        console.log("value of keyArray "+num+" is "+keyArray);
    }    
}

3 个答案:

答案 0 :(得分:0)

尝试

function getvalues(data){
    $.each(data.response.deals, function(i, deal){
        var keys = [], values = [];
        $.each(deal, function(key, value){
            keys.push(key);
            values.push(value);
        });

        console.log('keys ' + (i + 1) + ' is ' + keys);
        console.log('values ' + (i + 1) + ' is ' + values);
    });
}

答案 1 :(得分:0)

Underscore库有各种很好的帮助功能,也是#values()帮助器:

> myObj= { division: 'Division',
  name: 'Boston',
  url: 'http://yipit.com/boston/' }

> _.values(myObj);
[ 'Division',
  'Boston',
  'http://yipit.com/boston/' ]

答案 2 :(得分:-1)

这将显示与键关联的所有值:

var myObject = data.response.deals[i].division;
    for (var key in myObject ) {
      if (myObject.hasOwnProperty(key)) {
        alert(key + " is " + myObject[key]);
        alert(key + " is " + myObject.key);
      }
    }

要在对象(实际上是函数或属性)上调用“键”,您可以执行myObject[key]myObject.key