使用 ES8 中的 Object.keys() 和 Object.values() 方法获取对象的属性名和属性值
在前端开发中,我们经常需要获取一个对象的属性名和属性值。在 ES8 中,新增了 Object.keys() 和 Object.values() 方法,可以方便地获取对象的属性名和属性值。本文将详细介绍这两个方法的使用以及其指导意义。
Object.keys() 方法
Object.keys() 方法返回一个由对象的属性名组成的数组。可以使用 Object.keys() 方法获取一个对象的所有属性名,然后遍历这个数组来获取每个属性的值。
示例代码:
const obj = {a: 1, b: 2, c: 3}; const keys = Object.keys(obj); console.log(keys); // ['a', 'b', 'c'] keys.forEach(key => { console.log(obj[key]); // 1, 2, 3 });
在上面的示例中,我们定义了一个包含三个属性的对象 obj,然后使用 Object.keys() 方法获取了 obj 的所有属性名。接着,我们使用 forEach() 方法遍历这个属性名数组,获取每个属性的值。
Object.keys() 方法还可以用来获取对象的可枚举属性。如果对象的某个属性不可枚举,那么该属性名不会出现在返回的数组中。
Object.values() 方法
Object.values() 方法返回一个由对象的属性值组成的数组。可以使用 Object.values() 方法获取一个对象的所有属性值,然后遍历这个数组来获取每个属性的名称。
示例代码:
const obj = {a: 1, b: 2, c: 3}; const values = Object.values(obj); console.log(values); // [1, 2, 3] values.forEach(value => { console.log(value); // 1, 2, 3 });
在上面的示例中,我们定义了一个包含三个属性的对象 obj,然后使用 Object.values() 方法获取了 obj 的所有属性值。接着,我们使用 forEach() 方法遍历这个属性值数组,获取每个属性的名称。
Object.values() 方法还可以用来获取对象的可枚举属性值。如果对象的某个属性不可枚举,那么该属性值不会出现在返回的数组中。
指导意义
使用 Object.keys() 和 Object.values() 方法可以方便地获取一个对象的属性名和属性值。这两个方法可以大大简化代码,提高开发效率。在实际开发中,我们可以使用这两个方法来遍历对象的属性,进行某些操作,比如计算属性的总和、进行过滤等等。
需要注意的是,Object.keys() 和 Object.values() 方法只能获取对象的可枚举属性和属性值。如果对象的某个属性不可枚举,那么该属性名和属性值都不会出现在返回的数组中。因此,在使用这两个方法前,需要先确定对象的属性是否可枚举。
总结
本文介绍了 ES8 中的 Object.keys() 和 Object.values() 方法,这两个方法可以方便地获取对象的属性名和属性值。我们还提到了这两个方法的指导意义,以及需要注意的地方。在实际开发中,我们可以使用这两个方法来遍历对象的属性,进行某些操作。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6516ad8695b1f8cacdf0111c