ES8 中新增的 Object.entries() 方法和 Object.values() 方法
在 JavaScript 中,Object 对象是最基础的数据类型之一,也是开发中经常使用的一种复合数据类型。在 ES6 中,Object 对象已经新增了很多有用的方法,如 Object.assign()、Object.is() 等,为我们的开发带来了很多便利。而在 ES8 中,Object 对象又新增了两个非常实用的方法:Object.entries() 和 Object.values()。
Object.entries() 方法
Object.entries() 方法是将一个对象转换成一个键值对数组的方法,返回的结果是一个所有自身可枚举属性的键值对数组。该方法的语法如下:
Object.entries(obj);
其中,obj 表示要被转换为键值对数组的对象。
通过 Object.entries(),我们可以将一个对象转换成数组,并进一步遍历该数组。下面的示例代码演示了如何遍历一个对象中的所有键和值:
const person = { name: 'Alice', age: 18, sex: 'female' }; const entries = Object.entries(person); for (const [key, value] of entries) { console.log(`${key}: ${value}`); }
上面的代码输出结果如下:
name: Alice age: 18 sex: female
Object.values() 方法
Object.values() 方法与 Object.entries() 方法类似,也是将一个对象转换为一个数组的方法,不同之处在于 Object.values() 方法返回的是对象中所有可枚举属性的值,而不是键值对数组。该方法的语法如下:
Object.values(obj);
其中,obj 表示要被转换为值数组的对象。
下面的示例代码演示了如何使用 Object.values() 方法将一个对象中的所有值提取到一个数组中:
const person = { name: 'Alice', age: 18, sex: 'female' }; const values = Object.values(person); console.log(values); // ["Alice", 18, "female"]
需要注意的是,Object.values() 方法只能遍历对象中自身的可枚举属性,无法遍历原型链上的属性。
这两个方法在实际开发中可以极大地简化开发者的工作,以提高代码的可读性和可维护性。在对象遍历、属性过滤和数组操作等场景中都具有重要的应用。。
总结
本文详细介绍了 ES8 中 Object.entries() 和 Object.values() 方法的用法以及实例代码,这两个方法可以帮助我们更加方便地操作对象和数组,提高代码的可读性和可维护性。同时,本文还总结了这两个方法的注意事项和使用场景,希望对读者有所启发和指导。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/647a82c0968c7c53b063a1cc