如果我有一个JS对象:
var foo = { 'bar' : 'baz' }
如果我知道foo有基本的键/值结构,但不知道键的名称,我怎么能得到它?为…在吗?$ . each () ?
如果我有一个JS对象:
var foo = { 'bar' : 'baz' }
如果我知道foo有基本的键/值结构,但不知道键的名称,我怎么能得到它?为…在吗?$ . each () ?
当前回答
如果您正在使用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);
}
}
其他回答
给定你的对象:
var foo = { 'bar' : 'baz' }
获取bar,使用:
Object.keys(foo)[0]
要获得baz,请使用:
foo[Object.keys(foo)[0]]
假设只有一个对象
您可以单独访问每个键,而无需迭代,如下所示:
var obj = { first: 'someVal', second: 'otherVal' };
alert(Object.keys(obj)[0]); // returns first
alert(Object.keys(obj)[1]); // returns second
美元。每个都是一个库结构,而对于…In是原生js,这应该更好
易读且简单的解决方案:
Const object1 = { 首先:“我是第一个”, second:“我是第二名” }; for (const [key, value] of Object.entries(object1)) { console.log(“${关键}:$ {value}”); } //期望输出: // "我是第一个" // "second: I am second"
最简单的方法是使用Underscore.js:
键 _.keys(对象) 检索对象属性的所有名称。 _.键({一:1,二:2,三:3}); =>["一","二","三"]
是的,你需要一个额外的库,但它是如此简单!