如果我有一个JS对象:
var foo = { 'bar' : 'baz' }
如果我知道foo有基本的键/值结构,但不知道键的名称,我怎么能得到它?为…在吗?$ . each () ?
如果我有一个JS对象:
var foo = { 'bar' : 'baz' }
如果我知道foo有基本的键/值结构,但不知道键的名称,我怎么能得到它?为…在吗?$ . each () ?
当前回答
要显示为字符串,只需使用:
console.log("they are: " + JSON.stringify(foo));
其他回答
给你的一句话:
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
// iterate through key-value gracefully
const obj = { a: 5, b: 7, c: 9 };
for (const [key, value] of Object.entries(obj)) {
console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"
}
参考MDN
种() object .keys()方法返回给定对象自身可枚举属性的数组,其顺序与for…In循环(区别在于for-in循环也枚举原型链中的属性)。
var arr1 = Object.keys(obj);
Object.values () object .values()方法返回给定对象自身可枚举属性值的数组,其顺序与for…In循环(区别在于for-in循环也枚举原型链中的属性)。
var arr2 = Object.values(obj);
欲了解更多,请点击这里
用于在javascript中访问对象或地图中的键的每个循环
for(key in foo){
console.log(key);//for key name in your case it will be bar
console.log(foo[key]);// for key value in your case it will be baz
}
注:也可以使用
种(foo);
它会像这样给你 输出:
(酒吧);
要显示为字符串,只需使用:
console.log("they are: " + JSON.stringify(foo));