推荐使用 ECMAScript 2017 的 Object.values 和 Object.entries
在前端开发中,经常需要对对象进行操作,例如遍历对象的属性、获取对象的属性值等等。在 ECMAScript 2017 中,新增了 Object.values 和 Object.entries 两个方法,可以方便地获取对象的值和键值对,大大简化了操作对象的过程。
Object.values
Object.values 方法返回一个数组,包含对象的所有可枚举属性的值。示例如下:
const obj = { name: '张三', age: 18, gender: 'male' } const values = Object.values(obj) console.log(values) // ['张三', 18, 'male']
在上面的示例中,我们定义了一个包含 name、age 和 gender 属性的对象 obj,然后使用 Object.values 方法获取其所有属性的值并存储在 values 数组中。最后输出 values 数组的值,可以看到输出了对象的所有值。
Object.entries
Object.entries 方法返回一个数组,包含对象的所有可枚举属性的键值对。示例如下:
const obj = { name: '张三', age: 18, gender: 'male' } const entries = Object.entries(obj) console.log(entries) // [['name', '张三'], ['age', 18], ['gender', 'male']]
在上面的示例中,我们定义了一个包含 name、age 和 gender 属性的对象 obj,然后使用 Object.entries 方法获取其所有属性的键值对并存储在 entries 数组中。最后输出 entries 数组的值,可以看到输出了对象的所有键值对。
使用建议
Object.values 和 Object.entries 方法在操作对象时非常方便,可以大大简化代码的编写。但需要注意的是,这两个方法只能获取对象的可枚举属性,即 enumerable 属性为 true 的属性。如果需要获取对象的所有属性,可以使用 Object.getOwnPropertyNames 方法。
另外,Object.values 和 Object.entries 方法返回的数组是按照对象属性的顺序排列的,这一点需要注意。
总结
Object.values 和 Object.entries 方法是 ECMAScript 2017 中新增的操作对象的方法,可以方便地获取对象的值和键值对。这两个方法在前端开发中非常实用,可以大大简化代码的编写。但需要注意的是,这两个方法只能获取对象的可枚举属性,且返回的数组是按照对象属性的顺序排列的。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66017751d10417a222ca8f57