如果我有一个JS对象:

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

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


当前回答

给定你的对象:

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

获取bar,使用:

Object.keys(foo)[0]

要获得baz,请使用:

foo[Object.keys(foo)[0]]

假设只有一个对象

其他回答

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

给你的一句话:

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

给定你的对象:

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

获取bar,使用:

Object.keys(foo)[0]

要获得baz,请使用:

foo[Object.keys(foo)[0]]

假设只有一个对象

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

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

种() object .keys()方法返回给定对象自身可枚举属性的数组,其顺序与for…In循环(区别在于for-in循环也枚举原型链中的属性)。

var arr1 = Object.keys(obj);

Object.values () object .values()方法返回给定对象自身可枚举属性值的数组,其顺序与for…In循环(区别在于for-in循环也枚举原型链中的属性)。

var arr2 = Object.values(obj);

欲了解更多,请点击这里