我正在使用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);
}
}
答案 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