如果我有一个JS对象:
var foo = { 'bar' : 'baz' }
如果我知道foo有基本的键/值结构,但不知道键的名称,我怎么能得到它?为…在吗?$ . each () ?
如果我有一个JS对象:
var foo = { 'bar' : 'baz' }
如果我知道foo有基本的键/值结构,但不知道键的名称,我怎么能得到它?为…在吗?$ . each () ?
当前回答
这是最简单易行的方法。我们就是这么做的。
Var obj = {'bar': 'baz'} var key = Object.keys(obj)[0]; Var值= obj[key]; Console.log ("key = ", key) // bar Console.log ("value = ", value) // baz .log Object.keys()是javascript方法,在对象上使用时返回一个键数组。
Object.keys(obj) // ['bar']
现在您可以迭代对象,并可以访问如下值-
Object.keys(obj).forEach( function(key) {
console.log(obj[key]) // baz
})
其他回答
您可以单独访问每个键,而无需迭代,如下所示:
var obj = { first: 'someVal', second: 'otherVal' };
alert(Object.keys(obj)[0]); // returns first
alert(Object.keys(obj)[1]); // returns second
种() object .keys()方法返回给定对象自身可枚举属性的数组,其顺序与for…In循环(区别在于for-in循环也枚举原型链中的属性)。
var arr1 = Object.keys(obj);
Object.values () object .values()方法返回给定对象自身可枚举属性值的数组,其顺序与for…In循环(区别在于for-in循环也枚举原型链中的属性)。
var arr2 = Object.values(obj);
欲了解更多,请点击这里
美元。每个都是一个库结构,而对于…In是原生js,这应该更好
你可以使用Object。按键功能,获得按键如下:
const tempObjects={foo:"bar"}
Object.keys(tempObjects).forEach(obj=>{
console.log("Key->"+obj+ "value->"+tempObjects[obj]);
});
除了for (var key in foo)我什么都没看到。