如果我有一个JS对象:
var foo = { 'bar' : 'baz' }
如果我知道foo有基本的键/值结构,但不知道键的名称,我怎么能得到它?为…在吗?$ . each () ?
如果我有一个JS对象:
var foo = { 'bar' : 'baz' }
如果我知道foo有基本的键/值结构,但不知道键的名称,我怎么能得到它?为…在吗?$ . each () ?
当前回答
给定你的对象:
var foo = { 'bar' : 'baz' }
获取bar,使用:
Object.keys(foo)[0]
要获得baz,请使用:
foo[Object.keys(foo)[0]]
假设只有一个对象
其他回答
你可以使用Object。按键功能,获得按键如下:
const tempObjects={foo:"bar"}
Object.keys(tempObjects).forEach(obj=>{
console.log("Key->"+obj+ "value->"+tempObjects[obj]);
});
美元。每个都是一个库结构,而对于…In是原生js,这应该更好
既然你提到了$.each(),下面是一个可以在jQuery 1.6+中工作的方便方法:
var foo = { key1: 'bar', key2: 'baz' };
// keys will be: ['key1', 'key2']
var keys = $.map(foo, function(item, key) {
return key;
});
你可以用for循环在对象内部迭代:
for(var i in foo){
alert(i); // alerts key
alert(foo[i]); //alerts key's value
}
Or
Object.keys(foo)
.forEach(function eachKey(key) {
alert(key); // alerts key
alert(foo[key]); // alerts value
});
如果您正在使用AWS CloudFront函数,那么这将为您工作。
function handler(event) {
var response = event.response;
var headers = response.headers;
if("x-amz-meta-csp-hash" in headers){
hash=headers["x-amz-meta-csp-hash"].value;
console.log('hash is ' + hash);
}
}