随着 JavaScript 发展的不断壮大,ECMAScript 标准化过程中每一次新的版本都会带来一些新的函数和功能。在 ECMAScript 8 中,新加入了两个非常方便的函数:Object.entries 和 Object.values。本文将介绍这两个函数的详细使用及其指导意义。
Object.entries
Object.entries 函数可以将一个对象转换成一个键值对数组,其中每个键值对都包含该对象的一个属性和对应的值。这个函数的语法如下:
Object.entries(obj)
其中,参数 obj
表示要转换的对象。函数返回一个键值对数组,其中每个元素都是一个二元数组,第一个元素是对象的属性名称,第二个元素是该属性对应的值。
下面是一个使用 Object.entries 函数转换对象的例子:
-- -------------------- ---- ------- ----- --- - - ----- -------- ---- --- --------- --------- -- ----- ------- - -------------------- ---------------------
输出结果如下:
[ [ 'name', 'Jerry' ], [ 'age', 25 ], [ 'location', 'Beijing' ] ]
Object.entries 函数返回了一个由三个二元数组组成的数组,每个二元数组都包含一个键和对应的值。
使用 Object.entries 函数的一个非常有用的场景是,将一个对象的属性和值转换成 URL 的查询参数字符串。例如:
const params = { name: 'Jerry', age: 25, location: 'Beijing' }; const searchParams = new URLSearchParams(Object.entries(params)).toString(); console.log(searchParams); // 输出:'name=Jerry&age=25&location=Beijing'
Object.values
Object.values 函数可以只提供对象的值所组成的数组,其中没有任何键的信息。这个函数的语法如下:
Object.values(obj)
其中,参数 obj
表示要提取值的对象。函数返回一个数组,其中包含该对象的所有属性的值。
下面是一个使用 Object.values 函数提取对象属性值的例子:
-- -------------------- ---- ------- ----- --- - - ----- -------- ---- --- --------- --------- -- ----- ------ - ------------------- --------------------
输出结果如下:
[ 'Jerry', 25, 'Beijing' ]
Object.values 函数返回了一个包含对象的值的数组。
使用 Object.values 函数的另一个场景是,在需要遍历一个对象的所有值的时候,可以将其与 foreach 语句一起使用。例如:
const obj = { name: 'Jerry', age: 25, location: 'Beijing' }; Object.values(obj).forEach((value, index) => { console.log(`索引为 ${index} 的值是:${value}`); });
总结
在开发前端应用时,ECMAScript 标准化过程中不断增加的函数和功能可以为我们提供更好、更方便的编程体验。在这篇文章中,我们介绍了 ECMAScript 8 新增的两个函数 Object.entries 和 Object.values 的使用方法和指导意义,它们可以帮助我们更加方便地操作对象的属性和值,提高开发效率,降低了开发的复杂度和出错率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6457324c968c7c53b09fff37