ES6 中的 Object.keys() 和 Object.values() 详解及应用场景

阅读时长 3 分钟读完

ES6 中的 Object.keys() 和 Object.values() 详解及应用场景

ES6 中的 Object.keys() 和 Object.values() 是两个非常实用的方法,主要用于获取对象的键名和键值。本文将详细介绍这两个方法的用法和应用场景。

一、Object.keys()

Object.keys() 方法可以返回一个由一个给定对象的自身可枚举属性组成的数组。这个数组中的属性名是字符串类型,并按照 Object.getOwnPropertyNames() 方法的顺序排列。

语法:

Object.keys(obj)

参数:

obj:必须,要返回其枚举自身属性的对象。

返回值:

由指定对象的所有可枚举自身属性的属性名组成的数组。

示例:

const obj = {a: 1, b: 2, c: 3}; const keys = Object.keys(obj); console.log(keys); // ["a", "b", "c"]

二、Object.values()

Object.values() 方法返回一个由对象自身的可枚举属性值组成的数组,值的顺序与 Object.keys() 方法返回的数组一致。

语法:

Object.values(obj)

参数:

obj:必须,要返回其可枚举属性值的对象。

返回值:

由指定对象的所有可枚举自身属性值组成的数组。

示例:

const obj = {a: 1, b: 2, c: 3}; const values = Object.values(obj); console.log(values); // [1, 2, 3]

三、应用场景

  1. 遍历对象

Object.keys() 和 Object.values() 方法可以帮助我们更方便地遍历对象的键名和键值。

示例:

const obj = {a: 1, b: 2, c: 3}; Object.keys(obj).forEach(key => { console.log(key); // "a", "b", "c" }); Object.values(obj).forEach(value => { console.log(value); // 1, 2, 3 });

  1. 判断对象是否为空

使用 Object.keys() 方法可以快速判断一个对象是否为空对象。

示例:

const obj = {}; if (Object.keys(obj).length === 0) { console.log("obj is an empty object"); // "obj is an empty object" }

  1. 反转对象的键值对

使用 Object.keys() 和 Object.values() 方法可以轻松地将一个对象的键值对反转。

示例:

const obj = {a: 1, b: 2, c: 3}; const reversedObj = Object.fromEntries( Object.keys(obj).map(key => [obj[key], key]) ); console.log(reversedObj); // {1: "a", 2: "b", 3: "c"}

四、总结

Object.keys() 和 Object.values() 是 ES6 中非常实用的方法,它们可以帮助我们更方便地操作对象的键名和键值。除了上文中提到的应用场景外,它们还有许多其他的应用场景,需要我们在开发中不断去发现和探索。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64646966968c7c53b0546431

纠错
反馈