在 ES8 中使用 Object.entries() 方法和 Object.fromEntries() 方法转换对象属性和值

在 ES8 中使用 Object.entries() 方法和 Object.fromEntries() 方法转换对象属性和值

在前端开发中,对象是我们经常会用到的一种数据类型。在实际开发过程中,我们可能会遇到将对象的属性和值互相转换的需求,比如将数组转换成对象、将对象转换成数组等等。在 ES8 中,新增了两个方法:Object.entries() 和 Object.fromEntries(),能够非常方便地实现对象属性和值的互相转换。

Object.entries() 方法

Object.entries() 方法能够将一个对象的可枚举属性转换成一个由 [key, value] 组成的二元数组,这个方法返回该数组。这个方法主要用于将一个对象的属性集合转换成键值对集合。

示例代码:

const obj = { name: 'Jack', age: 21, gender: 'male' };
const arr = Object.entries(obj);
console.log(arr); // [ ['name', 'Jack'], ['age', 21], ['gender', 'male'] ]

根据上面的示例代码,我们可以发现,Object.entries() 方法会把对象的 key 和 value 分别存储在二元数组里面,并将这些二元数组放在一个数组中返回。

Object.fromEntries() 方法

Object.fromEntries() 方法能够将一个由 [key, value] 组成的二元数组转换成一个新的对象,这个方法返回该对象。这个方法主要用于将一个键值对集合转换成一个对象集合。

示例代码:

const arr = [ ['name', 'Jack'], ['age', 21], ['gender', 'male'] ];
const obj = Object.fromEntries(arr);
console.log(obj); // { name: 'Jack', age: 21, gender: 'male' }

根据上面的示例代码,我们可以发现,Object.fromEntries() 方法会将二元数组转换成一个对象,并将这个对象返回。

实际应用

除了上面的简单示例,Object.entries() 和 Object.fromEntries() 方法还有更多的用途。在实际开发中,我们可以将这两个方法结合起来使用,实现更加方便和高效的代码编写。

示例代码:

const obj = { name: 'Jack', age: 21, gender: 'male' };

// 将对象属性和值互换
const swappedObj = Object.fromEntries(
  Object.entries(obj).map(([key, value]) => [value, key])
);
console.log(swappedObj); // { Jack: 'name', 21: 'age', male: 'gender' }

根据示例代码,我们可以看到,这种方法可以快速地实现对象属性和值互换的功能,同时代码也非常简洁易懂。

总结

Object.entries() 和 Object.fromEntries() 方法是 ES8 中新增的两个方法,它们能够非常方便地实现对象属性和值互相转换。在实际开发中,这两个方法也能够帮助我们更加高效地编写代码。掌握这两个方法,能够让前端开发工作更加便捷、高效!

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65ab61b9add4f0e0ff5051df


纠错反馈