在 ES8 中,我们可以使用 Object.values 和 Object.entries 方法来获取对象的值和键值对数组。
Object.values 方法
Object.values 方法返回一个数组,其中包含对象的所有可枚举属性的值。这个方法可以让我们更方便地访问对象的值,而不必使用 for...in 循环或 Object.keys 方法。
下面是 Object.values 方法的语法:
Object.values(obj)
其中,obj 表示要获取值的对象。
下面是一个简单的示例:
const person = { name: 'Alice', age: 30, gender: 'female' }; const values = Object.values(person); console.log(values); // ['Alice', 30, 'female']
Object.entries 方法
Object.entries 方法返回一个数组,其中包含对象的所有可枚举属性的键值对数组。这个方法可以让我们更方便地遍历对象的键值对,而不必使用 for...in 循环或 Object.keys 方法。
下面是 Object.entries 方法的语法:
Object.entries(obj)
其中,obj 表示要获取键值对数组的对象。
下面是一个简单的示例:
// javascriptcn.com 代码示例 const person = { name: 'Alice', age: 30, gender: 'female' }; const entries = Object.entries(person); console.log(entries); // [['name', 'Alice'], ['age', 30], ['gender', 'female']]
指导意义
使用 Object.values 和 Object.entries 方法可以让我们更方便地访问对象的值和遍历对象的键值对。这个方法可以让我们的代码更简洁、更易读,提高代码的可维护性和可读性。
下面是一个使用 Object.entries 方法的示例,它可以将对象转换为查询字符串:
// javascriptcn.com 代码示例 function toQueryString(obj) { return Object.entries(obj) .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`) .join('&'); } const params = { name: 'Alice', age: 30, gender: 'female' }; const queryString = toQueryString(params); console.log(queryString); // 'name=Alice&age=30&gender=female'
总结
ES8 中 Object.values 和 Object.entries 方法让我们更方便地访问对象的值和遍历对象的键值对。这个方法可以让我们的代码更简洁、更易读,提高代码的可维护性和可读性。在实际开发中,我们可以根据具体的场景选择使用哪个方法,以提高代码的效率和可读性。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/656edfc9d2f5e1655d72d378