如果我有一个JS对象:

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

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


当前回答

易读且简单的解决方案:

Const object1 = { 首先:“我是第一个”, second:“我是第二名” }; for (const [key, value] of Object.entries(object1)) { console.log(“${关键}:$ {value}”); } //期望输出: // "我是第一个" // "second: I am second"

其他回答

我也遇到过同样的问题,这个方法很有效

//example of an Object
var person = {
    firstName:"John",
    lastName:"Doe",
    age:50,
    eyeColor:"blue"
};

//How to access a single key or value
var key = Object.keys(person)[0];
var value = person[key];

您可以单独访问每个键,而无需迭代,如下所示:

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);

欲了解更多,请点击这里

你可以用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 object1 = { 首先:“我是第一个”, second:“我是第二名” }; for (const [key, value] of Object.entries(object1)) { console.log(“${关键}:$ {value}”); } //期望输出: // "我是第一个" // "second: I am second"