📜  Javascript Object.entries()(1)

📅  最后修改于: 2023-12-03 15:01:38.305000             🧑  作者: Mango

Javascript Object.entries()

Object.entries() 是 ES2017 中新增的方法,它返回对象自身所有可枚举的属性键值对数组。其语法形式如下:

Object.entries(obj)

其中 obj 参数为要获取键值对数组的对象。

下面是一个简单的例子:

const obj = {
  foo: 'bar',
  baz: 42
};

console.log(Object.entries(obj));
// Output: [ ["foo", "bar"], ["baz", 42] ]

在这个例子中,obj 对象有两个属性:foobazObject.entries(obj) 将返回一个数组,包含二元数组,每个数组代表 obj 所有可枚举的属性的键值对。

如果一个对象没有任何属性,Object.entries() 返回一个空数组。

const emptyObj = {};

console.log(Object.entries(emptyObj));
// Output: []

Object.entries() 的实现方式是基于 for...in 循环来获取对象的所有可枚举属性。因此,它只能获取对象自身所有的可枚举属性,不包括继承的属性。

Object.entries() 还有一个互补的方法,叫做 Object.fromEntries()。它接受一个键值对数组,返回一个由这个数组中的值组成的对象。具体使用方法如下:

const entries = [
  ['foo', 'bar'],
  ['baz', 42]
];

const obj = Object.fromEntries(entries);

console.log(obj);
// Output: { foo: 'bar', baz: 42 }

在这个例子中,entries 是一个嵌套数组,包含了两个二元数组。传递给 Object.fromEntries() 后,它将返回一个由这个数组中的值组成的对象。

总结

Object.entries() 方法返回对象自身所有可枚举的属性键值对的数组,每个数组都是二元数组,第一个元素是属性名,第二个元素是属性值。此方法只能获取对象自身的属性,不包括继承的属性。