如果我有一个JS对象:

var foo = { 'bar' : 'baz' }

如果我知道foo有基本的键/值结构,但不知道键的名称,我怎么能得到它?为…在吗?$ . each () ?


当前回答

美元。每个都是一个库结构,而对于…In是原生js,这应该更好

其他回答

要显示为字符串,只需使用:

console.log("they are: " + JSON.stringify(foo));

如果您正在使用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);
    }
}

你可以用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
  });

给你的一句话:

const OBJECT = {
    'key1': 'value1',
    'key2': 'value2',
    'key3': 'value3',
    'key4': 'value4'
};

const value = 'value2';

const key = Object.keys(OBJECT)[Object.values(OBJECT).indexOf(value)];

window.console.log(key); // = key2

除了for (var key in foo)我什么都没看到。