在 ES8 中,新增了 Object.entries() 方法,可以将一个对象转换为一个由键值对数组组成的数组。本文将介绍 Object.entries() 方法的详细使用方法以及其适用场景。
语法
Object.entries(obj)
- obj:要转换的对象。
返回值
返回一个由键值对组成的数组,每个键值对的格式为 [key, value],其中 key 是原对象的属性名称,value 是属性值。
示例
const myObj = { name: 'Alice', age: 20, gender: 'female' }; const myArr = Object.entries(myObj); console.log(myArr); // output: [["name", "Alice"], ["age", 20], ["gender", "female"]]
使用场景
遍历对象
使用 Object.entries() 方法可以方便地遍历对象中的属性和值。
const myObj = { name: 'Alice', age: 20, gender: 'female' }; for(let [key, value] of Object.entries(myObj)){ console.log(`${key}: ${value}`) } //output: //name: Alice //age: 20 //gender: female
将对象转换为 Map 对象
Map 对象是 ES6 引入的一个新的数据类型,它是一种集合,其中每个元素都是由键值对组成的。使用 Object.entries() 方法可以将一个对象转换为一个 Map 对象。
const myObj = { name: 'Alice', age: 20, gender: 'female' }; const myMap = new Map(Object.entries(myObj)); console.log(myMap); //output: Map(3) { "name" => "Alice", "age" => 20, "gender" => "female" }
转换为数组过滤属性
使用 Object.entries() 方法可以将一个对象转换为数组,然后就可以使用数组 filter() 方法来过滤属性。
const myObj = { name: 'Alice', age: 20, gender: 'female' }; const myArr = Object.entries(myObj).filter(([key, value]) => key !== 'age'); console.log(myArr); //output: [["name", "Alice"], ["gender", "female"]]
总结
通过本文的介绍,我们了解到了 Object.entries() 方法的语法、返回值、使用场景以及示例代码。Object.entries() 方法在遍历对象、将对象转换为 Map 对象、转换为数组过滤属性等场景下非常实用,可以提高开发效率。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65a8ef30add4f0e0ff232d38